Hi, Ich habe grad einen einfachen Taschenrechner geschrieben der mit + und - arbeitet allerdings kam ich mit dem String -> char nicht klar.
Hier mal der code. Ich konnte nicht einfach einen String "+" oder "-" in die switch anweisung packen, die Operatoren wurden einfach nicht erkannt also hab ich mich im Internet umgeschaut und das hier gefunden : .charAt(0); soweit ich das verstanden habe wird hiermit ein String in ein char umgewandelt ? naja ich habe dann den char op=eingabe3.charAt(0); (warum 0 ?) gesetzt und danach gings mit der switch anweisung. Allerdings haben wir sowas noch nicht gemacht deshalb denke ich, ich habe mir das Leben unnötig schwer gemacht damit und es gibt eine elegantere Lösung ohne chars zu benutzen.
Hier mal der code. Ich konnte nicht einfach einen String "+" oder "-" in die switch anweisung packen, die Operatoren wurden einfach nicht erkannt also hab ich mich im Internet umgeschaut und das hier gefunden : .charAt(0); soweit ich das verstanden habe wird hiermit ein String in ein char umgewandelt ? naja ich habe dann den char op=eingabe3.charAt(0); (warum 0 ?) gesetzt und danach gings mit der switch anweisung. Allerdings haben wir sowas noch nicht gemacht deshalb denke ich, ich habe mir das Leben unnötig schwer gemacht damit und es gibt eine elegantere Lösung ohne chars zu benutzen.
Java:
import javax.swing.JOptionPane;
class Tasche{
public static void main(String[]args){
String eingabe1,eingabe2,eingabe3;
double z1,z2,ausgabe;
char op;
eingabe1=JOptionPane.showInputDialog("Geben sie eine Zahl ein");
eingabe2=JOptionPane.showInputDialog("Geben sie eine weitere Zahl ein");
eingabe3=JOptionPane.showInputDialog("+ addieren\n- subtrahieren");
op=eingabe3.charAt(0);
z1=Double.parseDouble(eingabe1);
z2=Double.parseDouble(eingabe2);
switch(op){
case '+':
ausgabe=z1+z2;
break;
case '-':
ausgabe=z1-z2;
break;
default: ausgabe=0.0d;
if (op!='+' || op!='-')
JOptionPane.showMessageDialog(null,"Falscher Operator.\nStarten sie das Programm neu.");
System.exit(0);
}
JOptionPane.showMessageDialog(null,ausgabe);
}
}
Zuletzt bearbeitet von einem Moderator: