Hallo!
Bin neu in der OOP und weiß teilweise noch nicht so recht was ich so tun soll...
Ich wollte eine Klasse Bruch schreiben, die mir Objekte erzeugt, die 2 eingegebene Brüche Addiert, Subtrahiert, Dividiert und multipliziert.
Ich habe eine Klasse BruchTest geschrieben, die jeweils 2*2 Werte (d.h. 2 mal Zähler und nenner einließt):
Das Teilkonstrukt meiner Objekt-Klasse Bruch sieht wie folgt aus:
Nun liegt das Problem bei den jeweiligen Rechenoperationen... Wie multipliziere ich die jeweiligen Werte aus den Objekten? Das aktuelle Objekt ruft man ja mit 'this' auf.
Könnt ihr mit helfen?
Gruß
Bin neu in der OOP und weiß teilweise noch nicht so recht was ich so tun soll...
Ich wollte eine Klasse Bruch schreiben, die mir Objekte erzeugt, die 2 eingegebene Brüche Addiert, Subtrahiert, Dividiert und multipliziert.
Ich habe eine Klasse BruchTest geschrieben, die jeweils 2*2 Werte (d.h. 2 mal Zähler und nenner einließt):
Code:
import EAjava.*;
public class BruchTest {
static Input eing = new Input();
public static void main(String[] args) {
int i,z,n; int[] a=new int[2];int[] b=new int[2];
do {
i = eingabe();
switch (i) {
case 1:a=werteeingeben();werteausgeben('a',a);break;
case 2:a=werteeingeben();b=werteeingeben();
werteausgeben('a',a);werteausgeben('b',b);break;
case 3:Bruch bra=new Bruch(a);Bruch brb=new Bruch(b);
case 4:
case 0:break;
}
} while (i != 0);
}
public static int eingabe() {
System.out.println("Bitte geben Sie eine der folgenden Optionen ein: ");
System.out.println("0 für aufhören");
System.out.println("1 für Bruch lesen und ausgeben");
System.out.println("2 für Bruch a und b lesen und ausgeben");
System.out.println("3 für a/d/m/s mit den Objektmehtoden");
System.out.println("4 für a/d/m/s mit den Klassenmethoden");
int i = eing.readInteger("->");
return i;
}
public static int[] werteeingeben(){
int[] c=new int[2];
c[0]=eing.readInteger("Bitte Zähler eingeben: ");
c[1]=eing.readInteger("Bitte Nenner eingeben: ");
return c;
}
public static void werteausgeben(char s,int[] c){
System.out.println("Ausgabe für "+s+": "+c[0]+"/"+c[1]);
}
}
Das Teilkonstrukt meiner Objekt-Klasse Bruch sieht wie folgt aus:
Code:
public class Bruch {
int z, n,z1,n1;
boolean ok;
Bruch(int[] a) {
z = a[0];
n = a[1];
if (n == 0)
ok = false;
else
ok = true;
}
public void kuerze() {
boolean he=false;
if (ok){
for (int i=z>n?n:z;i>0 && he==true;i--){
if (n%i==0 && z%i==0){
n=n/i;z=z/i; he=true;
}
}
}
}
public void mult(){
z1=thisb.z*b.z;
n1=a.n*b.n;
}
public void div(){
z1=a.z*b.n;
n1=a.n*b.z;
}
public void add(){
}
}
Nun liegt das Problem bei den jeweiligen Rechenoperationen... Wie multipliziere ich die jeweiligen Werte aus den Objekten? Das aktuelle Objekt ruft man ja mit 'this' auf.
Könnt ihr mit helfen?
Gruß