Hallo Java-Masters!
Ich bin Student, aber wegen den Ferien konnte ich in einem Tutorium nicht anwesend sein und jetzt habe ich Probleme mit den Tutoriumsaufgaben - die Antworten werden üblicherweise nicht veröffentlicht. Ich schreibe nicht alles auf einmal, sondern schrittweise, damit ich die Schwierigkeiten im Laufe der Aufgabe überwinden kann
Hier gibt es eine Klasse und ein Programm, das mit dieser Klasse in Verknüpfung ist:
1. Jetzt muss man schon printBruch nicht mehr benutzen, indem man dafür in Bruch die Object.toString-Methode überschreibt und dann wäre es möglich die Bruch-Objekte mit System.out.print/ln auszuzgeben.
Was für Methode ist das und wie überschreibt man sie richtig?
Ich bin Student, aber wegen den Ferien konnte ich in einem Tutorium nicht anwesend sein und jetzt habe ich Probleme mit den Tutoriumsaufgaben - die Antworten werden üblicherweise nicht veröffentlicht. Ich schreibe nicht alles auf einmal, sondern schrittweise, damit ich die Schwierigkeiten im Laufe der Aufgabe überwinden kann
Hier gibt es eine Klasse und ein Programm, das mit dieser Klasse in Verknüpfung ist:
Java:
public class Bruch{
public int z;
public int n;
public Bruch( int zaehler, int nenner){
z = zaehler;
n = nenner;
if(n == 0){
Terminal.println( "0 im Nenner ist ungültig!! Es wird jetzt stattdessen 1 verwendet." );
n = 1;
}
}
public void printBruch(){
ensureNegDisplay();
System.out.printf( " %d/%d ", z, n);
}
public void addiereBruch( Bruch b){
z = z*b.n + b.z*n;
n = n*b.n;
for ( int ggt = n; ggt > 1; ggt-- )
if ((z % ggt == 0) && (n % ggt == 0)){
z /= ggt;
n /= ggt;
break;
}
}
public void umkehrBruch(){
int tmp = z;
z = n;
n = tmp;
}
public void ensureNegDisplay(){
if( n < 0 ){
n *= -1;
z *= -1;
}
}
}
Java:
public class BruchTest{
public static void main(String args[]){
Bruch b1 = new Bruch( 1, 1 );
Bruch b2;
for ( int i = -4; i <= 4; i++ ){
for ( int j = 4; j >= -4; j--){
b2 = new Bruch( i, j);
b1.printBruch();
System.out.print( "+" );
b2.printBruch();
System.out.print( "=" );
b1.addiereBruch( b2 );
b1.printBruch();
System.out.println( "");
}
}
System.out.print( "Der Umkehrbruch von" );
b2 = new Bruch(-123,45);
b2.printBruch();
System.out.print( "ist:" );
b2.umkehrBruch();
b2.printBruch();
System.out.println( "" );
}
}
1. Jetzt muss man schon printBruch nicht mehr benutzen, indem man dafür in Bruch die Object.toString-Methode überschreibt und dann wäre es möglich die Bruch-Objekte mit System.out.print/ln auszuzgeben.
Was für Methode ist das und wie überschreibt man sie richtig?