Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Das ist ungefähr so wie "Durch mein geöffnetes Dachfenster schneit es rein, deshalb zieh ich jetzt unter die Brücke".Ach ok danke, ich habe diese Variablen jetzt "globalisiert" 🙂.
class Fraction {
int numerator;
int denominator;
Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
try {
if (denominator == 0) {
throw new Exception();
}
} catch (IllegalArgumentException e) {
System.out.println("Division durch 0 nicht erlaubt.");
} catch (Exception e) {
System.out.println("");
}
}
public Object multiplyBy(Fraction f) {
f=( ((Object.numerator)*(f.numerator)),((Object.denominator)*(f.denominator));
return f;
}
public String toString() {
String strich = (strich.numerator + "/" + strich.denominator);
return strich;
}
}
public class FractionTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Fraction bruch = new Fraction(1, 2);
Fraction bruch2 = new Fraction(2, 3);
Object f = bruch.multiplyBy(bruch2);
System.out.println("Ergebnis" + f.toString());
}
}
1. Deine Methode gibt ein Object-Objekt zurück.Die Methode
gibt ein neues Fraction-Objekt zurück
2. Das stimmt so nicht. Die Klasse "Object" kennt z.B. keinen "numerator". Außerdem sollst du ja ein neues Fraction-Objekt zurückgeben, welches dem Produkt aus "this" und "f" entspricht.
Der letzte Teil fehlt hier noch. Stichwort: Access-ModifierEin Fraction-Objekt hat zwei ganzzahlige Instanzvariablen numerator und
denominator (Zähler und Nenner). Auf diese Instanzvariablen soll aus fremden
Klassen nicht zugegriffen werden können.
Lässt sich auch einfach alseine Ausnahme des Typs IllegalArgumentException auslösen
zu können. Diese Ausnahme soll ausgelöst werden, wenn dem Konstuktor für
den Nenner der Wert 0 übergeben wird
if(nenner == 0) {
throw new IllegalArgumentException("...");
}
1. Deine Methode gibt ein Object-Objekt zurück.
2. Das stimmt so nicht. Die Klasse "Object" kennt z.B. keinen "numerator". Außerdem sollst du ja ein neues Fraction-Objekt zurückgeben, welches dem Produkt aus "this" und "f" entspricht.
public Fraction multiplyBy(Fraction f) {
Fraction c=( ((this.numerator)*(f.numerator)),((this.denominator)*(f.denominator));
return c;
}
Ok, also müsste korrekt sein?
public String toString() {
return String.format("%s / %s ",numerator, denominator);
}