Frage von KeinGuterName2, 31

Taschenrechner programmieren Problem?

Hallo, ich habe erst vor kurzem mit Java angefangen zu programmieren bzw. zu lernen.

Jedenfalls bin ich gerade dabei einen "Taschenrechner" zu programmieren. Dazu habe ich folgenden Code geschrieben: import java.util.Scanner;

[code=Java] import java.util.Scanner;

public class Brot4 {
 public static void main(String args[]){
     Scanner s = new Scanner(System.in);
    
    int number1, number2, modus;
    System.out.println("Choose a mode (Add= 1, Substract= 2, Multiply= 3, Divide= 4)");
     mode = s.nextInt();
     System.out.println("You sucessfully have selected a mode:["+mode+"] ./n Choose 2 numbers to calculate.");
     number1 = s.nextInt();
     number2 = s.nextInt();
   
    double result;
    result = x;

    if(modus==1){
        System.out.println("The result is: "+ number1+number2);}
    else{if(modus==2){
        System.out.println("The result is: "+ number1-number2);}
        else{if(modus==3){
        System.out.println("The result is: "+ number1*number2);}
            if(modus==4){
                System.out.println("The result is: "+ number1/number2);}
            else
                System.out.println("Choose a mode!");
            }
        }

    }
       
 {
     {
        System.out.println("The result is= " + x);
    }
    
    
 }
}[/code]

Danke für eure Antworten

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von wobbys, 14

Hallo :)

Ich habe mich mal an deinen Code gesetzt und ihn so "verbessert" bzw. abgeändert, wie ich es machen würde ;D 

Man kann es natürlich noch besser machen, aber im groben sollte es so ok sein.

(Viele Wege führen nach Rom xD)

Ich hoffe, dass ich dir damit helfen kann.

Bei Fragen, nicht zögern ^^

Mit freundlichen Grüßen

wobbsy

Kommentar von KeinGuterName2 ,

Hallo wobbys,

vielen Dank für deine sehr ausführliche Antwort und dem beigefügten Video. Ich schätze sehr, wie viel Mühe dir gemacht hast. 

Der Grund dafür, dass ich so spät antworte ist, dass ich erst mal Urlaub genommen habe. Da ich nun zurück bin werde ich das Lernen von Java wieder aufnehmen - wobei ich wieder alles von Anfang lernen werde. Ich habe mir dein Video angeschaut - dabei muss ich sagen, dass du dieses sehr gut gemacht hast.

Ich habe alles im groben und ganzen Verstanden. Das Problem ist, dass ich jetzt wieder einiges Vergessen habe - durch den Urlaub und deswegen fange ich demnächst - (ja habe zurzeit noch eine W-Seminar Arbeit zu schreiben) - an Java wieder von rund auf zu lernen.

Ich bin mir sicher, dass ich dein Video bald gebrauchen werden, wenn ich zum zweiten mal versuche einen Taschenrechner zu programmieren - wenn es so weit ist.

Auf jeden Fall hoffe ich auch in der Zukunft ab und zu mal wieder so ein hilfreiches Video von dir zu sehen bis dahin, viel Spaß beim programmieren :)

Kommentar von wobbys ,

Das hört man doch gerne ^^

Ich hoffe du hattest viel Spaß und Erholung in deinem Urlaub :)

Ich werde versuchen auch künftig zu helfen. 

MfG

wobbsy 

Kommentar von KeinGuterName2 ,

Vielen Dank der Nachfrage, es war sehr schön :)

Du motivierst mich richtig, Java zu lernen, aber leider muss ich mich jetzt erst an meine Seminararbeit setzen :(

Schöne Grüße,

KeinGuterName

Antwort
von unsignedInt, 11

Du hast recht viele Fehler in den Code eingebaut. 

  1. Was machen die "{" zwischen "else{if"?
  2. Backslashes bei "/n" benutzen => "\n".
  3. result = x; Wo ist x definiert?
  4. Wenn du mit Anführungszeichen (") in Strings arbeiten möchtest, musst du ein Backslash davor setzen. 
  5. Scanner werden geschlossen.
  6. Du solltest das Ergebnis speichern und anschließend ausgeben.
  7. Warum ist das Ergebnis ein double, die beiden numbers aber ints

Hier der Code:


package com.xyz.abc;

import java.util.Scanner;

public class Taschenrechner {

public static void main(String args[]) {

Scanner s = new Scanner(System.in);

double number1, number2;
    int  modus;
System.out.println("Choose a mode (Add= 1, Substract= 2, Multiply= 3, Divide= 4)");
modus = s.nextInt();
System.out.println("You sucessfully have selected a mode:[\"" + modus + "\"] .\n Choose 2 numbers to calculate.");
number1 = s.nextInt();
number2 = s.nextInt();

double result;
result = 0;

if(modus==1){
result = number1 + number2;
} else if(modus==2) {
result = number1 - number2;
} else if(modus==3) {
result = number1 * number2;
} else if(modus==4) {
result = number1 / number2;
} else {
System.out.println("Choose a mode!");
}

System.out.println("The result is= " + result);

s.close();
}
}

Bitte lies eine vernünftige Lektüre über Java und belästige andere Menschen nicht mit deiner irreführenden (was ist denn überhaupt deine Frage) Fragestellung. Alle dargestellten Fehler sollten eigentlich nicht mehr vorkommen, wenn man sich ein ordentliches Buch nimmt, in dem der Code auch vernünftig erklärt wird.

Kommentar von KeinGuterName2 ,

Vielen Dank für ihre Antwort.

Ich habe mich jetzt wieder einige Zeit nicht mit dem Thema beschäftigt, da ich Urlaub genommen habe. Am besten fang ich damit noch einmal von vorne an und komme später wieder auf ihre Lösungsansätze.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten