ahhhhhhhhhhhh
This commit is contained in:
		
							parent
							
								
									7836821c51
								
							
						
					
					
						commit
						7663a81750
					
				
					 50 changed files with 860 additions and 341 deletions
				
			
		|  | @ -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 | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue