ahhhhhhhhhhhh
This commit is contained in:
parent
7836821c51
commit
7663a81750
50 changed files with 860 additions and 341 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Code/Steiner/fractionsSteinerTask/bin/LegacyTest.class
Normal file
BIN
Code/Steiner/fractionsSteinerTask/bin/LegacyTest.class
Normal file
Binary file not shown.
|
@ -1,33 +1,34 @@
|
|||
public class Anteil extends Bruch {
|
||||
public static Bruch verteilt = new Bruch(0, 1);
|
||||
|
||||
private static Bruch verteilt = new Bruch(0, 1);
|
||||
|
||||
// Standardkonstruktor: Anteil = 0
|
||||
public Anteil() {
|
||||
super(0, 1);
|
||||
}
|
||||
|
||||
// Konstruktor mit Zähler und Nenner
|
||||
public Anteil(int z, int n) {
|
||||
super(z, n);
|
||||
Bruch neuerAnteil = new Bruch(z, n);
|
||||
verteilt = verteilt.addiere(neuerAnteil);
|
||||
|
||||
if (verteilt.dezimalwert() > 1) {
|
||||
System.out.println("Fehler: Der Gesamtwert der verteilten Anteile übersteigt 1.");
|
||||
verteilt = verteilt.subtrahiere(neuerAnteil); // Rollback des Fehlers
|
||||
setZaehler(0); // Setzt Anteil zurück
|
||||
if (n == 0) {
|
||||
throw new IllegalArgumentException("Nenner darf nicht 0 sein.");
|
||||
}
|
||||
|
||||
Bruch neuerAnteil = new Bruch(z, n);
|
||||
Bruch neueVerteilung = verteilt.addiere(neuerAnteil);
|
||||
|
||||
if (neueVerteilung.dezimalwert() > 1) {
|
||||
System.out.println("Fehler: Der Gesamtwert der verteilten Anteile übersteigt 1/1.");
|
||||
setZaehler(0);
|
||||
setNenner(1);
|
||||
} else {
|
||||
verteilt = neueVerteilung;
|
||||
}
|
||||
}
|
||||
|
||||
// Methode, um den verteilten Anteil als double zu erhalten
|
||||
public static double getVerteilt() {
|
||||
return verteilt.dezimalwert();
|
||||
}
|
||||
|
||||
// Methode, um den verbleibenden Anteil als Bruch zu erhalten
|
||||
public static Bruch getRest() {
|
||||
public Bruch getRest() {
|
||||
Bruch eins = new Bruch(1, 1);
|
||||
return eins.subtrahiere(verteilt);
|
||||
}
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
public class AnteilTest {
|
||||
public static void main(String[] args) {
|
||||
|
||||
// Bruch-Test
|
||||
|
||||
System.out.println("*** Aufgabe Bruch ergänzen");
|
||||
|
||||
Bruch bruch1 = new Bruch(1, 2);
|
||||
|
||||
Bruch bruch2 = new Bruch(3, 4);
|
||||
|
||||
Bruch bruch3 = bruch1.addiere(bruch2);
|
||||
|
||||
bruch3.gekuerztausgeben();
|
||||
|
||||
System.out.println("");
|
||||
|
||||
System.out.println(bruch3.dezimalwert());
|
||||
|
||||
Bruch bruch4 = bruch1.subtrahiere(bruch2);
|
||||
|
||||
bruch4.gekuerztausgeben();
|
||||
|
||||
System.out.println("");
|
||||
|
||||
System.out.println(bruch4.dezimalwert());
|
||||
|
||||
// Anteil-Test
|
||||
|
||||
System.out.println("");
|
||||
|
||||
System.out.println("*** Aufgabe Anteil");
|
||||
|
||||
int vermoegen = 200000;
|
||||
|
||||
Anteil anteil1 = new Anteil(1, 4);
|
||||
|
||||
Anteil anteil2 = new Anteil(1, 2);
|
||||
|
||||
System.out.println("Anteil anteil1: " + anteil1.bruchToString());
|
||||
|
||||
System.out.println("Betrag von anteil1: " + vermoegen * anteil1.dezimalwert());
|
||||
|
||||
System.out.println("Anteil anteil2: " + anteil2.bruchToString());
|
||||
|
||||
System.out.println("Betrag von anteil2: " + vermoegen * anteil2.dezimalwert());
|
||||
|
||||
System.out.println("");
|
||||
|
||||
// System.out.println("Verteilt: " + Anteil.verteilt.bruchToString());
|
||||
|
||||
System.out.println("Rest: " + anteil1.getRest().bruchToString());
|
||||
|
||||
System.out.println("Restbetrag: " + vermoegen * anteil1.getRest().dezimalwert());
|
||||
|
||||
}
|
||||
}
|
|
@ -1,78 +1,49 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class BruchTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
ArrayList<Bruch> brueche = new ArrayList<>();
|
||||
// Bruch-Test
|
||||
System.out.println("*** Aufgabe Bruch ergänzen");
|
||||
|
||||
// Test 1: Standardkonstruktor
|
||||
brueche.add(new Bruch());
|
||||
System.out.println("Test 1: " + brueche.get(0).bruchToString()); // Erwartet: 0/1
|
||||
Bruch bruch1 = new Bruch(1, 2);
|
||||
Bruch bruch2 = new Bruch(3, 4);
|
||||
Bruch bruch3 = bruch1.addiere(bruch2);
|
||||
bruch3.gekuerztausgeben();
|
||||
System.out.println(bruch3.dezimalwert());
|
||||
Bruch bruch4 = bruch1.subtrahiere(bruch2);
|
||||
bruch4.gekuerztausgeben();
|
||||
System.out.println(bruch4.dezimalwert());
|
||||
|
||||
// Test 2: Konstruktor mit einem Parameter
|
||||
brueche.add(new Bruch(3));
|
||||
System.out.println("Test 2: " + brueche.get(1).bruchToString()); // Erwartet: 3/1
|
||||
// Anteil-Test
|
||||
System.out.println("");
|
||||
System.out.println("*** Aufgabe Anteil");
|
||||
int vermoegen = 200000;
|
||||
Anteil anteil1 = new Anteil(1, 4);
|
||||
Anteil anteil2 = new Anteil(1, 2);
|
||||
System.out.println("Anteil anteil1: y" + anteil1.bruchToString());
|
||||
System.out.println("Betrag von anteil1: " + vermoegen * anteil1.dezimalwert());
|
||||
System.out.println("Anteil anteil2: " + anteil2.bruchToString());
|
||||
System.out.println("Betrag von anteil2: " + vermoegen * anteil2.dezimalwert());
|
||||
System.out.println("");
|
||||
System.out.println("Verteilt: " + Anteil.verteilt.bruchToString());
|
||||
System.out.println("Rest: " + anteil1.getRest().bruchToString());
|
||||
System.out.println("Restbetrag: " + vermoegen * anteil1.getRest().dezimalwert());
|
||||
|
||||
// Test 3: Konstruktor mit zwei Parametern (positive Werte)
|
||||
brueche.add(new Bruch(4, 8));
|
||||
System.out.println("Test 3: " + brueche.get(2).bruchToString()); // Erwartet: 4/8
|
||||
brueche.get(2).gekuerztausgeben(); // Erwartet: 1/2
|
||||
// Anteil-Test - Überprüfung auf Überschreitung
|
||||
System.out.println("");
|
||||
System.out.println("*** Aufgabe Anteil mit Überschreitung testen");
|
||||
Anteil anteil3 = new Anteil(100, 1);
|
||||
System.out.println("Anteil anteil3: " + anteil3.bruchToString());
|
||||
System.out.println("");
|
||||
|
||||
// Test 4: Konstruktor mit zwei Parametern (negative Werte)
|
||||
brueche.add(new Bruch(-4, 8));
|
||||
System.out.println("Test 4: " + brueche.get(3).bruchToString()); // Erwartet: -4/8
|
||||
brueche.get(3).gekuerztausgeben(); // Erwartet: -1/2
|
||||
try {
|
||||
Anteil neueVerteilung = anteil3;
|
||||
System.out.println("Neue Verteilung: " + neueVerteilung.bruchToString());
|
||||
if (neueVerteilung.dezimalwert() > 1) {
|
||||
throw new IllegalArgumentException("Die Anteile überschreiten 100%!");
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
System.out.println("Fehler: " + e.getMessage());
|
||||
}
|
||||
|
||||
// Test 5: Setzen von Zähler und Nenner (normal)
|
||||
brueche.get(2).setZaehler(6);
|
||||
brueche.get(2).setNenner(9);
|
||||
System.out.println("Test 5: " + brueche.get(2).bruchToString()); // Erwartet: 6/9
|
||||
brueche.get(2).gekuerztausgeben(); // Erwartet: 2/3
|
||||
|
||||
// Test 6: Setzen von Zähler und Nenner (mit Null)
|
||||
brueche.get(2).setZaehler(0);
|
||||
brueche.get(2).setNenner(9);
|
||||
System.out.println("Test 6: " + brueche.get(2).bruchToString()); // Erwartet: 0/9
|
||||
|
||||
// Test 7: Setzen von Zähler und Nenner (Division durch Null)
|
||||
brueche.get(2).setNenner(0);
|
||||
System.out.println("Test 7: " + brueche.get(2).bruchToString());
|
||||
|
||||
// Test 8: Multiplikation
|
||||
Bruch bruch4 = new Bruch(2, 3);
|
||||
Bruch produkt = brueche.get(2).multipliziere(bruch4);
|
||||
System.out.println("Test 8: " + produkt.bruchToString()); // Erwartet: 0/1
|
||||
|
||||
// Test 9: Gleichheit
|
||||
Bruch bruch5 = new Bruch(2, 3);
|
||||
Bruch bruch6 = new Bruch(4, 6);
|
||||
System.out.println("Test 9: " + bruch5.equals(bruch6)); // Erwartet: true
|
||||
|
||||
// Test 10: Ungleichheit
|
||||
Bruch bruch7 = new Bruch(1, 2);
|
||||
System.out.println("Test 10: " + bruch5.equals(bruch7)); // Erwartet: false
|
||||
|
||||
// Test 11: Addition (positive und negative Werte)
|
||||
Bruch bruch8 = new Bruch(1, 4);
|
||||
Bruch summe = bruch5.addiere(bruch8);
|
||||
System.out.println("Test 11: " + summe.bruchToString()); // Erwartet: 11/12
|
||||
|
||||
// Test 12: Subtraktion (negatives Ergebnis)
|
||||
Bruch bruch9 = new Bruch(3, 4);
|
||||
Bruch differenz = bruch5.subtrahiere(bruch9);
|
||||
System.out.println("Test 12: " + differenz.bruchToString()); // Erwartet: -1/12
|
||||
|
||||
// Test 13: Dezimalwert
|
||||
double dezimalwert = bruch5.dezimalwert();
|
||||
System.out.println("Test 13: " + dezimalwert); // Erwartet: 0.6666666666666666 (2/3)
|
||||
|
||||
// Test 14: Dezimalwert eines anderen Bruchs
|
||||
Bruch bruch10 = new Bruch(3, 4);
|
||||
double dezimalwert2 = bruch10.dezimalwert();
|
||||
System.out.println("Test 14: " + dezimalwert2); // Erwartet: 0.75
|
||||
|
||||
// Test 16: Dezimalwert eines anderen Bruchs (null)
|
||||
Bruch bruch11 = new Bruch(3, 0);
|
||||
double dezimalwert3 = bruch11.dezimalwert();
|
||||
System.out.println("Test 15: " + dezimalwert3); // Erwartet: 0
|
||||
}
|
||||
}
|
||||
}
|
78
Code/Steiner/fractionsSteinerTask/src/LegacyTest.java
Normal file
78
Code/Steiner/fractionsSteinerTask/src/LegacyTest.java
Normal file
|
@ -0,0 +1,78 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class LegacyTest {
|
||||
public static void main(String[] args) {
|
||||
ArrayList<Bruch> brueche = new ArrayList<>();
|
||||
|
||||
// Test 1: Standardkonstruktor
|
||||
brueche.add(new Bruch());
|
||||
System.out.println("Test 1: " + brueche.get(0).bruchToString()); // Erwartet: 0/1
|
||||
|
||||
// Test 2: Konstruktor mit einem Parameter
|
||||
brueche.add(new Bruch(3));
|
||||
System.out.println("Test 2: " + brueche.get(1).bruchToString()); // Erwartet: 3/1
|
||||
|
||||
// Test 3: Konstruktor mit zwei Parametern (positive Werte)
|
||||
brueche.add(new Bruch(4, 8));
|
||||
System.out.println("Test 3: " + brueche.get(2).bruchToString()); // Erwartet: 4/8
|
||||
brueche.get(2).gekuerztausgeben(); // Erwartet: 1/2
|
||||
|
||||
// Test 4: Konstruktor mit zwei Parametern (negative Werte)
|
||||
brueche.add(new Bruch(-4, 8));
|
||||
System.out.println("Test 4: " + brueche.get(3).bruchToString()); // Erwartet: -4/8
|
||||
brueche.get(3).gekuerztausgeben(); // Erwartet: -1/2
|
||||
|
||||
// Test 5: Setzen von Zähler und Nenner (normal)
|
||||
brueche.get(2).setZaehler(6);
|
||||
brueche.get(2).setNenner(9);
|
||||
System.out.println("Test 5: " + brueche.get(2).bruchToString()); // Erwartet: 6/9
|
||||
brueche.get(2).gekuerztausgeben(); // Erwartet: 2/3
|
||||
|
||||
// Test 6: Setzen von Zähler und Nenner (mit Null)
|
||||
brueche.get(2).setZaehler(0);
|
||||
brueche.get(2).setNenner(9);
|
||||
System.out.println("Test 6: " + brueche.get(2).bruchToString()); // Erwartet: 0/9
|
||||
|
||||
// Test 7: Setzen von Zähler und Nenner (Division durch Null)
|
||||
brueche.get(2).setNenner(0);
|
||||
System.out.println("Test 7: " + brueche.get(2).bruchToString());
|
||||
|
||||
// Test 8: Multiplikation
|
||||
Bruch bruch4 = new Bruch(2, 3);
|
||||
Bruch produkt = brueche.get(2).multipliziere(bruch4);
|
||||
System.out.println("Test 8: " + produkt.bruchToString()); // Erwartet: 0/1
|
||||
|
||||
// Test 9: Gleichheit
|
||||
Bruch bruch5 = new Bruch(2, 3);
|
||||
Bruch bruch6 = new Bruch(4, 6);
|
||||
System.out.println("Test 9: " + bruch5.equals(bruch6)); // Erwartet: true
|
||||
|
||||
// Test 10: Ungleichheit
|
||||
Bruch bruch7 = new Bruch(1, 2);
|
||||
System.out.println("Test 10: " + bruch5.equals(bruch7)); // Erwartet: false
|
||||
|
||||
// Test 11: Addition (positive und negative Werte)
|
||||
Bruch bruch8 = new Bruch(1, 4);
|
||||
Bruch summe = bruch5.addiere(bruch8);
|
||||
System.out.println("Test 11: " + summe.bruchToString()); // Erwartet: 11/12
|
||||
|
||||
// Test 12: Subtraktion (negatives Ergebnis)
|
||||
Bruch bruch9 = new Bruch(3, 4);
|
||||
Bruch differenz = bruch5.subtrahiere(bruch9);
|
||||
System.out.println("Test 12: " + differenz.bruchToString()); // Erwartet: -1/12
|
||||
|
||||
// Test 13: Dezimalwert
|
||||
double dezimalwert = bruch5.dezimalwert();
|
||||
System.out.println("Test 13: " + dezimalwert); // Erwartet: 0.6666666666666666 (2/3)
|
||||
|
||||
// Test 14: Dezimalwert eines anderen Bruchs
|
||||
Bruch bruch10 = new Bruch(3, 4);
|
||||
double dezimalwert2 = bruch10.dezimalwert();
|
||||
System.out.println("Test 14: " + dezimalwert2); // Erwartet: 0.75
|
||||
|
||||
// Test 16: Dezimalwert eines anderen Bruchs (null)
|
||||
Bruch bruch11 = new Bruch(3, 0);
|
||||
double dezimalwert3 = bruch11.dezimalwert();
|
||||
System.out.println("Test 15: " + dezimalwert3); // Erwartet: 0
|
||||
}
|
||||
}
|
7
Code/Steiner/hotelBookKeeping/.vscode/settings.json
vendored
Normal file
7
Code/Steiner/hotelBookKeeping/.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"java.project.sourcePaths": ["src"],
|
||||
"java.project.outputPath": "bin",
|
||||
"java.project.referencedLibraries": [
|
||||
"lib/**/*.jar"
|
||||
]
|
||||
}
|
18
Code/Steiner/hotelBookKeeping/README.md
Normal file
18
Code/Steiner/hotelBookKeeping/README.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
## Getting Started
|
||||
|
||||
Welcome to the VS Code Java world. Here is a guideline to help you get started to write Java code in Visual Studio Code.
|
||||
|
||||
## Folder Structure
|
||||
|
||||
The workspace contains two folders by default, where:
|
||||
|
||||
- `src`: the folder to maintain sources
|
||||
- `lib`: the folder to maintain dependencies
|
||||
|
||||
Meanwhile, the compiled output files will be generated in the `bin` folder by default.
|
||||
|
||||
> If you want to customize the folder structure, open `.vscode/settings.json` and update the related settings there.
|
||||
|
||||
## Dependency Management
|
||||
|
||||
The `JAVA PROJECTS` view allows you to manage your dependencies. More details can be found [here](https://github.com/microsoft/vscode-java-dependency#manage-dependencies).
|
BIN
Code/Steiner/hotelBookKeeping/bin/Euro.class
Normal file
BIN
Code/Steiner/hotelBookKeeping/bin/Euro.class
Normal file
Binary file not shown.
BIN
Code/Steiner/hotelBookKeeping/bin/USDollar.class
Normal file
BIN
Code/Steiner/hotelBookKeeping/bin/USDollar.class
Normal file
Binary file not shown.
BIN
Code/Steiner/hotelBookKeeping/bin/Waehrung.class
Normal file
BIN
Code/Steiner/hotelBookKeeping/bin/Waehrung.class
Normal file
Binary file not shown.
BIN
Code/Steiner/hotelBookKeeping/bin/WaehrungTest.class
Normal file
BIN
Code/Steiner/hotelBookKeeping/bin/WaehrungTest.class
Normal file
Binary file not shown.
BIN
Code/Steiner/hotelBookKeeping/bin/Yen.class
Normal file
BIN
Code/Steiner/hotelBookKeeping/bin/Yen.class
Normal file
Binary file not shown.
16
Code/Steiner/hotelBookKeeping/src/Euro.java
Normal file
16
Code/Steiner/hotelBookKeeping/src/Euro.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
class Euro extends Waehrung {
|
||||
private static double kurs;
|
||||
|
||||
public Euro(double betrag) {
|
||||
super(betrag);
|
||||
}
|
||||
|
||||
public static void setKurs(double kurs) {
|
||||
Euro.kurs = kurs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double dollarBetrag() {
|
||||
return getBetrag() * kurs;
|
||||
}
|
||||
}
|
11
Code/Steiner/hotelBookKeeping/src/USDollar.java
Normal file
11
Code/Steiner/hotelBookKeeping/src/USDollar.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
class USDollar extends Waehrung {
|
||||
|
||||
public USDollar(double betrag) {
|
||||
super(betrag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double dollarBetrag() {
|
||||
return this.getBetrag();
|
||||
}
|
||||
}
|
17
Code/Steiner/hotelBookKeeping/src/Waehrung.java
Normal file
17
Code/Steiner/hotelBookKeeping/src/Waehrung.java
Normal file
|
@ -0,0 +1,17 @@
|
|||
abstract class Waehrung {
|
||||
private double betrag;
|
||||
|
||||
public Waehrung(double betrag) {
|
||||
this.betrag = betrag;
|
||||
}
|
||||
|
||||
public double getBetrag() {
|
||||
return betrag;
|
||||
}
|
||||
|
||||
public void setBetrag(double betrag) {
|
||||
this.betrag = betrag;
|
||||
}
|
||||
|
||||
public abstract double dollarBetrag();
|
||||
}
|
25
Code/Steiner/hotelBookKeeping/src/WaehrungTest.java
Normal file
25
Code/Steiner/hotelBookKeeping/src/WaehrungTest.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
public class WaehrungTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Yen.setKurs(1.0 / 130);
|
||||
Euro.setKurs(1.0 / 1.05);
|
||||
Waehrung[] geld = new Waehrung[5];
|
||||
geld[0] = new USDollar(2500);
|
||||
geld[1] = new Yen(200000);
|
||||
geld[2] = new Euro(600);
|
||||
geld[3] = new USDollar(20);
|
||||
geld[4] = new Euro(500);
|
||||
double dollarGeldBetrag = berechneDollarGeldBetrag(geld);
|
||||
System.out.println(dollarGeldBetrag);
|
||||
}
|
||||
|
||||
public static double berechneDollarGeldBetrag(Waehrung[] geld) {
|
||||
double summeInDollar = 0;
|
||||
for (Waehrung waehrung : geld) {
|
||||
summeInDollar += waehrung.dollarBetrag();
|
||||
}
|
||||
return summeInDollar;
|
||||
|
||||
}
|
||||
|
||||
}
|
16
Code/Steiner/hotelBookKeeping/src/Yen.java
Normal file
16
Code/Steiner/hotelBookKeeping/src/Yen.java
Normal file
|
@ -0,0 +1,16 @@
|
|||
class Yen extends Waehrung {
|
||||
private static double kurs;
|
||||
|
||||
public Yen(double betrag) {
|
||||
super(betrag);
|
||||
}
|
||||
|
||||
public static void setKurs(double kurs) {
|
||||
Yen.kurs = kurs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double dollarBetrag() {
|
||||
return getBetrag() * kurs;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue