Hilfe beim addieren(Anfänger)

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi ich soll einen Taschenrechner in Java programmieren. Dabei kommt es nicht auf eine Grafische Oberfläche an.

Mein Problem ist, dass dieser Bruchzahlen(Objekte) addieren soll.

UML Notation:

cBruch
-----------
zaehler
nenner
cBruch()
get_zaehler_nenner
set_zaehler_nenner
addieren



Leider komm ich nicht voran, wegen den Übergabewerten, kann mir vielleicht jemand weiter helfen?

Code:
import util.*;

public class bruchrechnung
{
	public static void main (String [] args)
	{
		Bruch zahl1= new Bruch(1,2);
		Bruch zahl2= new Bruch(3,4);
		
		
		int menue=0;
		
		
		do
		{
			
			
			System.out.println("\n\n\n\n\n\n\n\nÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
			System.out.println("º1. Addieren                    º");
			System.out.println("º2. Subtrahieren                º");
			System.out.println("º3. Multiplizieren              º");
			System.out.println("º4. Dividieren                  º");
			System.out.println("º5. Set                         º");
			System.out.println("º6. Exit                        º");
			System.out.println("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
		
			menue=StdInput.readInt("Bitte geben sie einen Menuepunkt ein: ");
			menue=checkinput(menue);
			
			
			switch(menue)
			{
				case 1:{addieren()}break;
				case 2:{}break;
				case 3:{}break;
				case 4:{}break;
				case 5:{}break;
				case 6:{System.out.println("Auf Wiedersehen ");}break;	
			}	
		}while(menue!=6);
		
		
	}
	
	public static int checkinput(int input)
	{
		while(input>6 || input<1 )
		{
			input=StdInput.readInt("Bitte geben Sie eine korrekte Zahl zwischen 1-6 ein!");
			
		}
			
	return input;			
		
	}
	
}

class Bruch
{
	
	//Attribute
	
	private int zaehler;
	private int nenner;
	
	//Konstruktor
	public Bruch(int zaehler,int nenner)
	{
		this.nenner=nenner;
		this.zaehler=zaehler;
	}
	
	//Methoden
	
	public void addieren()
	{
	
		
		
	}
	
		
}
 
B

bygones

Gast
es geht darum 2 brüche zu addieren ?

1. nachdem der MenuPunkt ausgewählt wurde musst du noch die Brüche abfragen lassen. Je nach dem wie du es machen willst / musst bekommst du dann 4 int zahlen. Aus den erstellst du dann jeweils 2 Bruch Objekte. Dann würde ich in der addieren Methode ein BruchObjekt übergeben und dann in der Methode die beiden Brüche addierne.
 
G

Guest

Gast
ja es ght darum 2 Brüche zu addieren.

Dann würde ich in der addieren Methode ein BruchObjekt übergeben und dann in der Methode die beiden Brüche addierne.

So weit war ich auch aber wie? Wäre ja alles nicht das Problem für mich wenn die Variablen im Objekt nicht private sein sollten.
 

Bleiglanz

Gesperrter Benutzer
mach den Bruch unveränderlich!!
Code:
public Bruch Add(Bruch anderer){
    return new Bruch(....müsste man mal ausrechnen...);
}
 
G

Guest

Gast
so habs endlich fertig bekommen, und da ich mir dachte es könnte jemanden interessieren veröfffentliche ich hier mal meine Lösng:

Code:
import util.*;

public class bruchrechnung
{
   public static void main (String [] args)
   {
      Bruch zahl1= new Bruch(1,2);
      Bruch zahl2= new Bruch(3,4);
      
      
      int menue=0;
      
      
      do
      {
         
         
         System.out.println("\n\n\n\n\n\n\n\nÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
         System.out.println("º1. Addieren                    º");
         System.out.println("º2. Subtrahieren                º");
         System.out.println("º3. Multiplizieren              º");
         System.out.println("º4. Dividieren                  º");
         System.out.println("º5. Set                         º");
         System.out.println("º6. Exit                        º");
         System.out.println("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
      
         menue=StdInput.readInt("Bitte geben sie einen Menuepunkt ein: ");
         menue=checkinput(menue);
         
         
         switch(menue)
         {
            case 1:{zahl1.addieren(zahl2.get_zaehler_nenner(0),zahl2.get_zaehler_nenner(1));}break;
            case 2:{zahl1.subtrahieren(zahl2.get_zaehler_nenner(0),zahl2.get_zaehler_nenner(1));}break;
            case 3:{zahl1.multiplizieren(zahl2.get_zaehler_nenner(0),zahl2.get_zaehler_nenner(1));}break;
            case 4:{zahl1.dividieren(zahl2.get_zaehler_nenner(0),zahl2.get_zaehler_nenner(1));}break;
            case 5:{zahl1.set_zaehler_nenner(1);zahl2.set_zaehler_nenner(2);}break;           	            		
            case 6:{System.out.println("Auf Wiedersehen ");}break;   
         }   
      }while(menue!=6);
      
      
   }
   
   public static int checkinput(int input)
   {
      while(input>6 || input<1 )
      {
         input=StdInput.readInt("Bitte geben Sie eine korrekte Zahl zwischen 1-6 ein!");
         
      }
         
   return input;         
      
   }
   
}

class Bruch
{
   
   //Attribute
   
   private int zaehler;
   private int nenner;
   
   //Konstruktor
   public Bruch(int zaehler,int nenner)
   {
      this.nenner=nenner;
      this.zaehler=zaehler;
   }
   
   //Methoden
   
   public void addieren(int zaehler2, int nenner2)
   {
   
      if (this.nenner!=nenner2)
      {
      	System.out.println(((this.zaehler*nenner2)+(zaehler2*this.nenner))+"/"+(this.nenner*nenner2));
      	decNum(((this.zaehler*nenner2)+(zaehler2*this.nenner)),(this.nenner*nenner2));
      	kuerzen(((this.zaehler*nenner2)+(zaehler2*this.nenner)),(this.nenner*nenner2));
      }
      
      else
      {
      	System.out.println((this.zaehler+zaehler2)+"/"+this.nenner);
      	decNum((this.zaehler+zaehler2),this.nenner);
      	kuerzen((this.zaehler+zaehler2),this.nenner);
      }
   }
   
   public void subtrahieren(int zaehler2, int nenner2)
   {
		if (this.nenner!=nenner2)
		{
		  	System.out.println(((this.zaehler*nenner2)-(zaehler2*this.nenner))+"/"+(this.nenner*nenner2));
		  	decNum(((this.zaehler*nenner2)-(zaehler2*this.nenner)),(this.nenner*nenner2));
		  	kuerzen(((this.zaehler*nenner2)-(zaehler2*this.nenner)),(this.nenner*nenner2));
		}
		  
		else
		{
		  	System.out.println((this.zaehler-zaehler2)+"/"+this.nenner);
		  	decNum((this.zaehler-zaehler2),this.nenner);
		  	kuerzen((this.zaehler-zaehler2),this.nenner);
		}
   }
   
   public void multiplizieren(int zaehler2, int nenner2)
   {
   		System.out.println((this.zaehler*zaehler2)+"/"+(this.nenner*nenner2));
   		decNum((this.zaehler*zaehler2),(this.nenner*nenner2));
   		kuerzen((this.zaehler*zaehler2),(this.nenner*nenner2));
   }
   
   public void dividieren(int zaehler2, int nenner2)
   {
   		System.out.println((this.zaehler*nenner2)+"/"+(this.nenner*zaehler2));
   		decNum((this.zaehler*nenner2),(this.nenner*zaehler2));
   		kuerzen((this.zaehler*nenner2),(this.nenner*zaehler2));
   }
   
   public int get_zaehler_nenner(int i)
   {
   		if (i==0)
   		{
   		 	return this.zaehler;	
   		}
   		else
   		{
   			return this.nenner;
   		}
   }
   
   public void set_zaehler_nenner(int var)
   {
   		this.zaehler=StdInput.readInt("Zaehler zahl"+var+" =");
   		this.nenner=StdInput.readInt("Nenner zahl"+var+" =");
   }
   
   public void kuerzen(int i,int y)
   {
   		if(i%9==0 && y%9==0)	
   		{System.out.println("Gekuerzt: "+(i/9)+"/"+(y/9));}
   		else
   		{
   			if(i%8==0 && y%8==0)	
   			{System.out.println("Gekuerzt: "+(i/8)+"/"+(y/8));}	
   			else
   			{
   				if(i%7==0 && y%7==0)	
   				{System.out.println("Gekuerzt: "+(i/7)+"/"+(y/7));}	
   				else
   				{
   					if(i%6==0 && y%6==0)	
   					{System.out.println("Gekuerzt: "+(i/6)+"/"+(y/6));}	
					else
					{
						if(i%5==0 && y%5==0)	
   						{System.out.println("Gekuerzt: "+(i/5)+"/"+(y/5));}
   						else
   						{
   							if(i%4==0 && y%4==0)	
   							{System.out.println("Gekuerzt: "+(i/4)+"/"+(y/4));}
   							else
   							{
   								if(i%3==0 && y%3==0)	
   								{System.out.println("Gekuerzt: "+(i/3)+"/"+(y/3));}
   								else
   								{
   									if(i%2==0 && y%2==0)	
   									{System.out.println("Gekuerzt: "+(i/2)+"/"+(y/2));}
   									else
   									{
   										System.out.println("Nicht kuerzbar");
   									}
   									
   								}
   							}
   						}
					}
   				}
   			}
   		}
	
   }
   
   public void decNum(int i, int y)
   {
   		System.out.println("Dezimal: "+((double)i/(double)y));	
   }  
}
 

Bleiglanz

Gesperrter Benutzer
nix für ungut, aber deine methode kuerzen ist der Hammer

was ist mit den gemeinsamen Teilern >= 10, etwa 999/111?

und: die Methode macht ja überhaupt nix ausser den gekürzten Bruch auf die Konsole zu drucken? soll das so sein??
 
G

Guest

Gast
das es nur ausgegeben wird ist schon absicht aber du könntest recht haben mit dem kuerzenvielleicht sollt ich da eher eine schleife verwenden
 

SebiB90

Top Contributor
Anonymous hat gesagt.:
das es nur ausgegeben wird ist schon absicht aber du könntest recht haben mit dem kuerzenvielleicht sollt ich da eher eine schleife verwenden
und man kann auch mit 10 und höher kürzen und nicht nur mit den zahlen von 2 bis 9
 

Soque

Mitglied
HuHu,

Warum arbeitest du nicht einfach mit dem ggT (größter gemeinsamer Teiler) zum Kürzen von Brüchen ?.

Das Kürzen ließe sich dann beispielsweise so bewerkstelligen:

Code:
public Bruch getKurzBruch(int a, int b) {
		return new Bruch(a / getggT(a,b), b / getggT(a,b));
	}

Die Variablen a und b stehen hierbei für den Zähler und Nenner.

MfG
Soque
 

SebiB90

Top Contributor
Soque hat gesagt.:
HuHu,

Warum arbeitest du nicht einfach mit dem ggT (größter gemeinsamer Teiler) zum Kürzen von Brüchen ?.

Das Kürzen ließe sich dann beispielsweise so bewerkstelligen:

Code:
public Bruch getKurzBruch(int a, int b) {
		return new Bruch(a / getggT(a,b), b / getggT(a,b));
	}

Die Variablen a und b stehen hierbei für den Zähler und Nenner.

MfG
Soque
und wie sieht die methode getggT() aus?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
B Hilfe beim Kreisberechnungsprogramm Java Basics - Anfänger-Themen 6
D Hilfe beim übersetzen in der Klasse Throwable Java Basics - Anfänger-Themen 2
S Datentypen Hilfe beim Typecasting Java Basics - Anfänger-Themen 7
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
H Hilfe beim Programmablaufplan Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
P Hilfe beim einlesen eines Textes Java Basics - Anfänger-Themen 11
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
E Hilfe beim Einstieg Java Basics - Anfänger-Themen 46
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
Developer_X Hilfe beim umbauen von Strings Java Basics - Anfänger-Themen 4
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
A Hilfe beim "übersetzen" Java Basics - Anfänger-Themen 7
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
S Hilfe beim Einlesen Java Basics - Anfänger-Themen 6
K Hilfe beim starten eines Programms! Bitte helfen. Java Basics - Anfänger-Themen 8
D Hilfe beim Übergeben vom JTextfield Java Basics - Anfänger-Themen 2
E hilfe beim code Java Basics - Anfänger-Themen 3
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G Hilfe zur einer Aufgabe: Datumsüberprüfung beim Gregorianis Java Basics - Anfänger-Themen 2
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Hilfe beim Schüler-Project Java Basics - Anfänger-Themen 4
F Hilfe beim Zeichnen in JPanel Java Basics - Anfänger-Themen 2
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben