Ich will ein Programm schreiben, dass mir entweder PS in kW oder umgekehrt ausrechnet.
Wenn der benutzer p eingibt soll es von PS zu kW rechnen, wenn er k eingibt, soll es von kW zu PS rechnen.
Java:
classPStokW{publicstaticvoid main (String[] arg){System.out.print ("PS/kW Konverter");System.out.print ("Geben Sie p (fuer PS zu kW) oder k (fuer kW zu PS) ein: ");char benutzereingabe =Input.readChar ();while(benutzereingabe !='p'&& benutzereingabe !='k'){System.out.print ("Ungueltige Eingabe, bitte erneut eingeben!");System.out.print ("Geben Sie p (fuer PS zu kW) oder k (fuer kW zu PS) ein: ");
benutzereingabe =Input.readChar ();}if(benutzereingabe =='p')System.out.print ("PS Anzahl? ");elseSystem.out.print ("kW Anzahl? ");double einheit =Input.readDouble ();double ergebnis;switch(benutzereingabe =='p'^ benutzereingabe =='k'){case1:
ergebnis = einheit/1.3596216;System.out.print (einheit +" PS sind "+ ergebnis +" kW.");case2:
ergebnis = einheit*1.3596216;System.out.print (einheit +" kW sind "+ ergebnis +" PS.");}}}
Ich versuche gerade das ganze in einem switch-case block zu realisieren. Dazu soll das Programm im switch-Block abfragen ob entweder p oder k eingegeben wurde und dann entweder case 1 oder case 2 ausführen.
Nur leider hab ich da noch etwas probleme mit der syntax.
Bekomme folgende Fehlermeldung:
Java:
C:\Training\PStokW.java:20: incompatible types
found :boolean
required:intswitch(benutzereingabe =='p'^ benutzereingabe =='k')^
Außerdem wollte ich fragen wie ich die cases definieren muss? Muss ich da die Bedingung nochmal eingeben oder wie funktioniert das von der syntax her?
wie wärs mit
if (eingabe == p) {
..
} else {
..
}
??
das hast du bei Zeile 14-17 doch auch schon
was immer
> benutzereingabe == 'p' ^ benutzereingabe == 'k'
in all seinen Details bedeuten soll, rechne das doch erstmal als boolean aus, oder als int oder was da je rauskommen soll,
teste das mit verschiedenen Eingaben, gib es mit System.out.println aus, aber mit switch hat das doch erstmal nix zu tun
> Dazu soll das Programm im switch-Block abfragen ob entweder p oder k eingegeben wurde und dann entweder case 1 oder case 2 ausführen.
nur von sollen passiert aber nix, sowas ist ja kaum in Code auszudrücken
-------
Tipp zu switch:
nach jedem Unterpunkt break; schreiben, sonst wird der nächste auch ausgeführt
Hmm ja das hab ich eh überlegt, nur hab ich das problem, dass ich bei if-else nur eine anweisung eingeben kann. Sonst bekomm ich ne fehlermeldung 'else' without 'if'. Gibts da ne möglichkeit mehrere anweisungen unterzubringen?
Ja sorry, ich bin halt noch ein blutiger anfänger und überfordert mit der fülle an informationen...
Ich muss das programm fürs studium programmieren und gerade so syntax geschichten kann ich halt noch schwer aus unterlagen herauslesen (habs eh versucht...).
Aber danke, das hilft schon ein schönes stück weiter.