Hallo Liebe Community,
da ich seit Stunden nicht weiterkomme - habe ich mich kurzerhand hier registriert & hoffe auf etwas Hilfestellung.
Ich bin Anfängerin und habe jetzt mit der Objektorientierung angefangen.
Deshalb kam ich auf die Idee ein Programm schreiben, welches einfach lediglich die 4 simplen Grundrechenarten ausgibt (mit OO Berücksichtigung).
Leider habe ich ein Problem mit dem Casting.
Hier meine zwei Dateien:
[CODE lang="java" title="Berechnung.java"]public class Berechnung {
Rechne rechne;
public Berechnung(Rechne rechne) { //Wer ist in der Berechnung?
this.rechne = rechne; //ein rechne ist in der Berechnung!
}
//main method
public static void main(String[] args) {
Rechne meineRechnung = new Rechne(1, 2, 3, 4, 0, 0, 0);
Berechnung meineBerechnung = new Berechnung(meineRechnung);
System.out.println(meineBerechnung.rechne.getPlus());
System.out.println(meineBerechnung.rechne.getMinus());
System.out.println(meineBerechnung.rechne.getGeteilt());
}
}[/CODE]
und
[CODE lang="java" title="Rechenarten.java"]class Rechne {
private int zahl1;
private int zahl2;
private int zahl3;
private int zahl4;
private int addition;
private int subtraktion;
private double teilen;
public Rechne(int zahl1, int zahl2, int zahl3, int zahl4, int addition, int subtraktion, double teilen) {
this.zahl1 = zahl1;
this.zahl2 = zahl2;
this.zahl3 = zahl3;
this.zahl4 = zahl4;
this.addition = zahl1 + zahl2 + zahl3 +zahl4;
this.subtraktion = zahl1 - zahl2 - zahl3 - zahl4;
double zahl4double = zahl4;
double zahl3double = zahl3;
this.teilen = zahl4double / zahl3double;
}
////////////////////////////////////////////
/* let's define our getter functions here */
public int getPlus() { // getPlus from addition
return this.addition; // the addition is ...
}
public int getMinus() { // getMinus
return this.subtraktion; // my subtraktion is ...
}
public int getGeteilt() { // getGeteilt?
return this.teilen; // zahlen geteilt ...
}
}
Error:
Rechenarten.java:33: error: incompatible types: possible lossy conversion from double to int
return this.teilen; // zahlen geteilt ...
Was ich erwartet hätte:
durch die Konvertierung [CODE lang="java" title="Konvertierung"]double zahl4double = zahl4;[/CODE] hätte ich erwartet, dass das Teilen von zahl4double & zahl3double zu einem Ergebnis des Typs double in teilen führt.
Eine gescheiterte Conversion von double zu int hatte ich eigentlich nicht vor & finde leider auch nicht den Fehler, wie der Compiler darauf kommt.
Natürlich könnte ich statt [CODE lang="java" title="Rechenarten.java public Rechne"]double teilen[/CODE] int teilen benutzen - aber 4/3 = 1 ist ja nicht Sinn und Zweck eines alltäglichen teilens.
Bitte entschuldigt wenn der Code suboptimal sein sollte, wie gesagt ich fange gerade erst an... .
Über eine anschauliche und anfängerfreundliche Hilfestellung, wie ich int zu double in meinem Programm bekommen könnte, würde ich mich riesig freuen, da ich Java im Selbststudium lerne
Vielen Dank.
Lg
da ich seit Stunden nicht weiterkomme - habe ich mich kurzerhand hier registriert & hoffe auf etwas Hilfestellung.
Ich bin Anfängerin und habe jetzt mit der Objektorientierung angefangen.
Deshalb kam ich auf die Idee ein Programm schreiben, welches einfach lediglich die 4 simplen Grundrechenarten ausgibt (mit OO Berücksichtigung).
Leider habe ich ein Problem mit dem Casting.
Hier meine zwei Dateien:
[CODE lang="java" title="Berechnung.java"]public class Berechnung {
Rechne rechne;
public Berechnung(Rechne rechne) { //Wer ist in der Berechnung?
this.rechne = rechne; //ein rechne ist in der Berechnung!
}
//main method
public static void main(String[] args) {
Rechne meineRechnung = new Rechne(1, 2, 3, 4, 0, 0, 0);
Berechnung meineBerechnung = new Berechnung(meineRechnung);
System.out.println(meineBerechnung.rechne.getPlus());
System.out.println(meineBerechnung.rechne.getMinus());
System.out.println(meineBerechnung.rechne.getGeteilt());
}
}[/CODE]
und
[CODE lang="java" title="Rechenarten.java"]class Rechne {
private int zahl1;
private int zahl2;
private int zahl3;
private int zahl4;
private int addition;
private int subtraktion;
private double teilen;
public Rechne(int zahl1, int zahl2, int zahl3, int zahl4, int addition, int subtraktion, double teilen) {
this.zahl1 = zahl1;
this.zahl2 = zahl2;
this.zahl3 = zahl3;
this.zahl4 = zahl4;
this.addition = zahl1 + zahl2 + zahl3 +zahl4;
this.subtraktion = zahl1 - zahl2 - zahl3 - zahl4;
double zahl4double = zahl4;
double zahl3double = zahl3;
this.teilen = zahl4double / zahl3double;
}
////////////////////////////////////////////
/* let's define our getter functions here */
public int getPlus() { // getPlus from addition
return this.addition; // the addition is ...
}
public int getMinus() { // getMinus
return this.subtraktion; // my subtraktion is ...
}
public int getGeteilt() { // getGeteilt?
return this.teilen; // zahlen geteilt ...
}
}
Error:
Rechenarten.java:33: error: incompatible types: possible lossy conversion from double to int
return this.teilen; // zahlen geteilt ...
Was ich erwartet hätte:
durch die Konvertierung [CODE lang="java" title="Konvertierung"]double zahl4double = zahl4;[/CODE] hätte ich erwartet, dass das Teilen von zahl4double & zahl3double zu einem Ergebnis des Typs double in teilen führt.
Eine gescheiterte Conversion von double zu int hatte ich eigentlich nicht vor & finde leider auch nicht den Fehler, wie der Compiler darauf kommt.
Natürlich könnte ich statt [CODE lang="java" title="Rechenarten.java public Rechne"]double teilen[/CODE] int teilen benutzen - aber 4/3 = 1 ist ja nicht Sinn und Zweck eines alltäglichen teilens.
Bitte entschuldigt wenn der Code suboptimal sein sollte, wie gesagt ich fange gerade erst an... .
Über eine anschauliche und anfängerfreundliche Hilfestellung, wie ich int zu double in meinem Programm bekommen könnte, würde ich mich riesig freuen, da ich Java im Selbststudium lerne
Vielen Dank.
Lg