Simpler Taschenrechner

DerBbo

Mitglied
Hallo erstmal 🙂
Ich programmier seit 'n paar tagn java.
Ich hab versucht nen simplen taschenrechner (ohne texture und mit scanner) zu progr.
Dabei verwende ich 3 operatoren(x, y, z) und eine if struktur.
x ist 1 zahl y das Rechenzeichen und z die 2 Zahl.
Nur leider funktioniert das nicht 🙁





Hier ist der Code




import java.util.Scanner;


public class ProjektRechner { //Die Klasse


public static void main (String[]args) {



double x;
char y;
double z;
double ergebnis;

{


Scanner Rechner = new Scanner(System.in); //Der Scanner



System.out.println("Geben sie die erste Zahl ein: "); //Die 1. Zahl
x = Rechner.nextDouble();





System.out.println("Gib die zweite zahl ein :"); //Die 2. Zahl
z = Rechner.nextDouble();




System.out.println("Welche Rechenart wollen sie?- Es stehen Plus/Minus/Mal/Divi zur verfügung"); //Die Rechnart-Frage

//Die Rechenarten



y = (char) Rechner.nextInt();


if(y == '+'); //Addieren
ergebnis = x+z;



if(y == '-'); //Subtrahieren
ergebnis = x-z;



if(y == '*'); //Multiplizieren
ergebnis = x*z;



if(y == '/'); //Dividieren
ergebnis = x/z;




}

System.out.println("Das Ergebnis ist : " + ergebnis); //Die Antwort

}


}





Bitter helft mir 😉
 
Du darfst keine Zahl einlesen bei der Rechenart: Schreibe
Java:
y = Rechner.next();

Du kannst aber auch so fragen das man für die Addition eine 1, ... eingeben soll. dann kannst du das mit dem Integer schreiben:
Java:
y = Rechner.nextInt();

Den String muss du dann mit equals(); vergleichen:
Java:
y.equals("+");
 
Außerdem kannst du nicht folgendes bei deiner ifAnweisung machen:
Java:
if(y == '+'); //Addieren
ergebnis = x+z;
in dem Fall hat die ifAbfrage nichts mit dem ergebnis = x+z zu tun.
Dies wird dann IMMER ausgeführt 😉
Du musst das in einen KlammernBlock packen:
Java:
if(y == '+'){ //Addieren
    ergebnis = x+z;
}
Jetzt wird ergebnis = x+z nur dann gemacht, wenn die ifAbfrage stimmt 😉
Und natürlich, wie schon gesagt wurde:
y.equals 🙂
Also:
Java:
if(y.equals("+")){ //Addieren
    ergebnis = x+z;
}
Gruß BK

PS: Kleiner TIPP am Rande!!!
Nutzte, wenn du Code zeigen möchtest immer die Java-Tags 😉
 
Zuletzt bearbeitet:
Erstens: Danke das ihr mir so nett geholfen habt 😀
Zweitens: Immer wenn ich den Klammerblock bei dem if setze wird "ergebnis" bei


System.out.println("Das Ergebnis ist : " + ergebnis);
//Die Antwort

als error gezeigt 🙁
aber wenn ich die Klammern weglasse wird immer dividiert gerechnet (weil es das letzte ist, soweit hab ich es geschnallt 😉 )
Könnt ihr mir helfen 🙂 ?
 
sry sry sry 🙁


War zu dumm um ergebnis auf 0 zu setzen xD


Funktioniert dank euch wie am Schnürrchen 😀 😀

#IhrScheidBeschte<3
 

Zurück
Oben