• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit Rechner

Pänat

Newbie
Hallo,
ich hab das Problem, dass das Ergebnis c nicht angezeigt wird. Ich weis nicht woran das liegt. Außerdem kann ich nicht den default Wert bei switch setzen, da er es als Fehler sieht. So sieht es momentan bei mir aus:

import java. io.*;

public class Rechner

{
public static void main(String[] args )
throws IOException
{
int a, b, c = 0;
int w;
BufferedReader din = new BufferedReader(
new InputStreamReader (System.in));

System.out.println("Bitte a eingeben: ");
a = Integer.parseInt(din.readLine());
System.out.println("Bitte b eingeben: ");
b = Integer.parseInt(din.readLine());
System.out.println("Bitte geben sie die Rechenart ein:");
w = Integer.parseInt(din.readLine());
switch (w)
{
case '1': c = a + b ;
break;
case '2': c = a - b ;
break;
case '3': c = a * b ;
break;
case '4': c = a / b ;
break;
}
System.out.println( "Ergebnis: " + c );
}
}
 
A

Anonymous

Gast
wenn du integer Werte in einer switch Anweisung hast, darfst du die nicht in Hochkomma schreiben, das musst du nur bei chars machen.
also hier:

case 1:
.
.
.
break;
case 2:
.
.
.
break;

usw

mfg

Andy
 
A

Anonymous

Gast
Code:
import java. io.*;

public class Rechner
    
{
    public static void main(String[] args )
	throws IOException
    {
	int a, b, c = 0;
	int w;
	boolean erfolg=true;
	BufferedReader din = new BufferedReader(
						new InputStreamReader (System.in));
	
	System.out.println("Bitte a eingeben: ");
	a = Integer.parseInt(din.readLine());
	System.out.println("Bitte b eingeben: ");
	b = Integer.parseInt(din.readLine());
	System.out.println("Bitte geben sie die Rechenart ein:");
	w = din.read();
	switch (w)
	    {
	    case '+': c = a + b ;
		break;
	    case '-': c = a - b ;
		break;
	    case '*': c = a * b ;
		break;
	    case '/': c = a / b ;
		break;
	    default:
		System.out.println("tja Pech gehabt");
		erfolg = false;
		break;
	    }
	if(erfolg)
	    System.out.println( "Ergebnis: " + c );
    }
}

Das funktioniert jetzt, das einlesen geht einfach über din.read(), das ließt genau ein Zeichen ein (hab schnell in der api nachgeschaut.

mfg

Andy
 
Oben