Blackbenji
Lieutenant
- Registriert
- Nov. 2009
- Beiträge
- 565
Hi,
ich versuche gerade Java zu lernen und habe ein Problem bei der Umwandlung von Typen.
Anbei mein Code - er funktioniert soweit vollständig, jedoch versuche ich eine Anpassung einzubauen:
Mein Problem ist nun, dass ergebnis ein float ist. für case 3 und 4 notwendig, für 1 und 2 jedoch unwichtig.
ich möchte also im falle von case 1 und 2 den typ nach int umwandeln.
leider scheitere ich daran, da ergebnis ja schon float ist.
gibt es eine möglichkeit ergebnis neu zu überschreiben?
Mein Ansatz:
hat es leider nicht gebracht.
ich versuche gerade Java zu lernen und habe ein Problem bei der Umwandlung von Typen.
Anbei mein Code - er funktioniert soweit vollständig, jedoch versuche ich eine Anpassung einzubauen:
Code:
package trywithressourcesdemo;
import java.util.Scanner;
/**
*
* @author blackbenji
*/
public class RechnerDemo {
public static void main(String[] args) {
try (Scanner in = new Scanner(System.in)) {
float ergebnis = 0;
System.out.println("1: Addieren");
System.out.println("2: Subtrahieren");
System.out.println("3: Multiplizieren");
System.out.println("4: Dividieren");
System.out.print("Modus wählen: ");
int modus = in.nextInt();
System.out.print("Bitte gib die erste Zahl ein: ");
float a = in.nextFloat();
System.out.print("Bitte gib nun die zweite Zahl ein: ");
float b = in.nextFloat();
switch (modus) {
case 1:
ergebnis = a + b;
break;
case 2:
ergebnis = a - b;
break;
case 3:
ergebnis = a * b;
break;
case 4:
ergebnis = a / b;
break;
default:
ergebnis = 0;
}
System.out.println("Ergebnis: " + ergebnis);
}
}
}
Mein Problem ist nun, dass ergebnis ein float ist. für case 3 und 4 notwendig, für 1 und 2 jedoch unwichtig.
ich möchte also im falle von case 1 und 2 den typ nach int umwandeln.
leider scheitere ich daran, da ergebnis ja schon float ist.
gibt es eine möglichkeit ergebnis neu zu überschreiben?
Mein Ansatz:
Code:
case 1:
ergebnis = (int) a + (int) b;
break;
case 2:
ergebnis = (int) a - (int) b;
break;