Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Problem mit Rechner

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Pänat
Newbie
Newbie
Beiträge: 19
Registriert: 15. Apr 2004, 13:33
Wohnort: Steinhorst

Problem mit Rechner

Beitrag von Pänat »

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 );
}
}
genius667

Beitrag von genius667 »

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
genius667

Beitrag von genius667 »

Code: Alles auswählen

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
Antworten