Scanner und If-Anweisung in Kombi

crashedserver22

Neues Mitglied
Hallo Leute,

bin hier gerade erst neu dazugekommen und habe auch noch nicht so viel Erfahrung mit Java-Programming .... wollte mich mal an einem Taschenrechner probieren, welche individuell nach User-Eingabe eine der 4 Grundrechenarten verwendet und dann die zwei von User individuell eingegebenen Nummer mit einander verrechnet aber irgendwie komme ich nicht weiter. Code hab ich unten reinkopiert

Jede Hilfe willkommen!


import java.util.Scanner;

public class Taschenrechner {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Bitte Rechenart eingeben: ");
String art = input.nextLine();
System.out.println("Bitte zwei Zahlen für die Berechnung eingeben: ");
int zahl1 = input.nextInt();
int zahl2 = input.nextInt();

if(art == "addieren") {
addieren();
}
if(art == "subtrahieren") {
subtrahieren();
}
if(art == "multiplizieren") {
multiplizieren();
}
if(art == "dividieren") {
dividieren();
}
}
public static void addieren(int zahl1, int zahl2){
int summe = zahl1 + zahl2;
System.out.println(summe);
}
public static void subtrahieren(int zahl1, int zahl2){
int summe = zahl1 - zahl2;
System.out.println(summe);
}
public static void multiplizieren(int zahl1, int zahl2){
int summe = zahl1 * zahl2;
System.out.println(summe);
}
public static void dividieren(int zahl1, int zahl2){
int summe = zahl1 / zahl2;
System.out.println(summe);
}
}
 
Beim Posten von Code bitte Code-Tags verwenden (</> im Editor oben links).

  1. Strings sind Objekte und die vergleicht man per equals (== wäre ein Referenzvergleich)
  2. Du musst den Methodenaufrufen schon die erwarteten Argumente mitgeben, z. B. addieren(zahl1, zahl2);
 
Beim Posten von Code bitte Code-Tags verwenden (</> im Editor oben links).

  1. Strings sind Objekte und die vergleicht man per equals (== wäre ein Referenzvergleich)
  2. Du musst den Methodenaufrufen schon die erwarteten Argumente mitgeben, z. B. addieren(zahl1, zahl2);
Habe das was du geschrieben hast funktioniert, erster vorschlag hat nur noch mehr fehlerquellen entstehen lassen, aber danke für den zweiten vorschlag damit meine vorherigen fehlerquellen verschwunden ... eingabe läuft jz doch irgendwie kann das Programm meine eingaben noch nicht nicht verarbeiten.
 
erster vorschlag hat nur noch mehr fehlerquellen entstehen lassen
Erster Vorschlag? Du meinst den Vergleich per equals? Das ist kein Vorschlag, das ist Tatsache:
Java:
String a = "abc";
String b = new String("abc");

System.out.println(a == b); // liefert false
System.out.println(a.equals(b)); // liefert true

Korrekterweise muss Dein if-Statement also z. B. so
Java:
if (art.equals("addieren")) 
// bzw.
if ("addieren".equals(art))
aussehen. Die zwei Varianten verhalten sich leicht unterschiedlich: ist art nämlich null, dann bekommst Du mit der ersten Variante eine NullPointerException, während die zweite Variante false liefert.
 

Neue Themen


Zurück
Oben