Addieren und ausgeben

Status
Nicht offen für weitere Antworten.
Hallo,
ich bin gerade dabei, einen kleinen Taschenrechner zu erstellen unter Eclipse. Folgendes habe ich bereits
Java:
package meinPaket;

public class Taschenrechner {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		if (args.length != 3) {
			System.out.println("Usage: Taschenrechner <Operand1> <Operator> <Operand2>");
			System.exit(-1);
		}
		Integer op1 = Integer.valueOf(args[0]);
		Integer op2 = Integer.valueOf(args[2]);
		String operator = args[1];
	}
}
op1 = 2
OP2 = 4
Operator = +
Wie krieg ich es hin, dass er mir das addiert und anschließend in der console ausgibt?
Vielen vielen Dank.
 

Atze

Top Contributor
mit nem if-else konstrukt, bzw ne switch-case. du musst gucken, was für ein operator eingeben wurde, und entsprechend mit den operanden arbeiten
 
B

bygones

Gast
mit nem if-else konstrukt, bzw ne switch-case. du musst gucken, was für ein operator eingeben wurde, und entsprechend mit den operanden arbeiten

switch wird beim String schwierig... hoechstens er modelliert erstmal um...

am einfachsten und schnellsten ist dann wohl if-else
 

Atze

Top Contributor
Java:
if(operator.equals("+")){
 ergebnis = args[0] + args[2];
}
else if(operator.equals("-")){
ergebnis = args[0] - args[2];
}
else if(operator.equals("*")){
ergebnis = args[0] * args[2];
}
else if(operator.equals("/")){
ergebnis = args[0] / args[2];
}
)

usw., falls du noch mehr funktionen zur verfügung stellen willst
 
Verwirrt mich doch nicht gleich so:D Wäre jemand so freundlich, und könnte mir diesen if else code in meinen oben geposteten Code einfügen? Stehe gerade etwas auf dem schlauch:(:D
 
Das stimmt natürlich, ich probiers ja auch die ganze Zeit, aber außer Fehler gibt er mir nie was aus. Habe erst gestern mit Java angefangen.
Edit: Das kommt bei mir dann, wenn ich es einfüge

Was mache ich falsch und was bedeutet die Fehlermeldung?
Danke
 
Zuletzt bearbeitet:

Spi

Mitglied
das if-else-zeugs kommt ans ende... sonst kennts doch die Variable "operator" doch garnicht! Also:

Java:
public static void main(String[] args) {
        if (args.length != 3) {
            System.out.println("Usage: Taschenrechner <Operand1> <Operator> <Operand2>");
            System.exit(-1);
        }
        Integer op1 = Integer.valueOf(args[0]);
        Integer op2 = Integer.valueOf(args[2]);
        String operator = args[1];
        int ergebnis = 0;
        if(operator.equals("+")){
             ergebnis = args[0] + args[2];
        }
        else if(operator.equals("-")){
             ergebnis = args[0] - args[2];
        }
        else if(operator.equals("*")){
              ergebnis = args[0] * args[2];
        }
        else if(operator.equals("/")){
              ergebnis = args[0] / args[2];
       }
       System.out.println(ergebnis);
    }
 

faetzminator

Gesperrter Benutzer
Ich würds mit einem switch und primitiven doubles machen, etwa so:
Java:
public static void main(String[] args) {
    if (args.length != 3 || args[1].length() != 1) {
        printUsage();
    }
    double op1 = Double.parseDouble(args[0]);
    double op2 = Double.parseDouble(args[2]);
    char operator = args[1].charAt(0);
    double result = 0;
    switch (operator) {
    case '+':
        result = op1 + op2;
        break;
    case '-':
        result = op1 - op2;
        break;
    case '*':
        result = op1 * op2;
        break;
    case '/':
        result = op1 / op2;
        break;
    case '^':
        result = Math.pow(op1, op2);
        break;
    default:
        printUsage();
    }
    System.out.println(result);
}

private static void printUsage() {
    System.err.println("Usage: Taschenrechner <operand1> [+-*/^] <operand2>");
    System.exit(-1);
}
Code:
$ Taschenrechner 16 ^ 0.5
4.0
$ Taschenrechner 123 + 7.45
130.45
 

ARadauer

Top Contributor
ach....
Java:
   if (args.length != 3) {
            System.out.println("Usage: Taschenrechner <Operand1> <Operator> <Operand2>");
            System.exit(-1);
        }
        Integer op1 = Integer.valueOf(args[0]);
        Integer op2 = Integer.valueOf(args[2]);
        String operator = args[1];
        double ergebnis = 0;
        if(operator.equals("+")){
             ergebnis = op1 + op2;
        }
        else if(operator.equals("-")){
             ergebnis = op1 - op2;
        }
        else if(operator.equals("*")){
              ergebnis = op1 * op2;
        }
        else if(operator.equals("/")){
              ergebnis = (double)op1 / (double)op2;
       }
        System.out.println(ergebnis);
 
Vielen Dank an alle, bei der Version von Spi gab er mir Fehler aus, und die Version von faetzminator ist für meine Verhältnisse zu "umfangreich". Habe nun die Version von ARadauer im Einsatz. Funktioniert alles außer multiplizieren, da muss irgendwo der Wurm drin sein. Was bewirkt double? Mehrere nachkommastellen?
Das problem liegt am *, dadurch gibt er mir nur Dinge aus, die in meinem verzeichniss liegen. Wie umgehe ich dieses problem?
 
Zuletzt bearbeitet:
Das problem liegt am *, dadurch gibt er mir nur Dinge aus, die in meinem verzeichniss liegen. Wie umgehe ich dieses problem?
Er multipliziert nicht, sondern zeigt mir Datein die unter Workspace liegen. Er versteht das * irgendwie nicht als Multiplikationszeichen.
 
Ich gebe unter Arguments in Eclipse 10 * 2 ein zb. Wenn ich dann in Debugger schaue, sehe ich, wie er mir zig Dateien augibt aus meinem Workspace ordner. Wenn ich dort 10 + 2 eingebe zeigt er mir im Debugger auch nur 10 + 2 an und rechnet 12 aus.
 

HoaX

Top Contributor
Bestimmt ersetzt seine Shell beim Aufruf des Programms das * durch die Dateinamen :) Schreib doch mal '*' beim Aufruf.

Edit: Hab ich wohl richtig geraten :)
 
B

bygones

Gast
weil er nun '*' auf * matchen will was nicht geht, ergo passt kein if und somit wird nix berechnet -> result bleibt 0
 

eRaaaa

Top Contributor
Und nun? Kann ja jetzt nicht mein Taschenrechner komplett neu machen nur wegen dem Multiplizieren.

hmm..also du könntest anstatt dem * vllt x als multiplikationszeichen benutzen ;)
ansonstne könntest du auch, in deinem if-else bzw switch-case block anstatt
operator.equals("*")
operator.equals("'*'")) benutzen und dann wie zuvor vorgeschlagen deinem programm
4 '*' 5 übergeben....

aber irgendwie ist beides nicht so schön wie ich finde :D
 

0din

Bekanntes Mitglied
Mal am rande,
könnte man nich einfach ein " * " als string rein geben?
Damit is das ganze vllt leichter als String zu erkennen...
 

HoaX

Top Contributor
Mal am rande,
könnte man nich einfach ein " * " als string rein geben?
Damit is das ganze vllt leichter als String zu erkennen...
Was meinst du mit "leichter als String zu erkennen"?

Also '*' sollte zumindest unter Linux mit den geläufigen Shells funktionieren, unter Windows würde ich auf \* tippen.
 

0din

Bekanntes Mitglied
naja, ganz simpel "(Leertaste)*(Leertaste)"
damit is das erste zeichen kein * mehr un wird vllt als String genommen, nich als sonstwasfürneanweisung
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Primzahlen bis 100 addieren Java Basics - Anfänger-Themen 16
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
S Arraywerte quadrieren und danach addieren Java Basics - Anfänger-Themen 11
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
G Array Werte addieren Java Basics - Anfänger-Themen 4
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
parrot Binär Addieren Java Basics - Anfänger-Themen 21
K Subklassen mit einzigem Befehl addieren Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
M Addieren von Polynomen Java Java Basics - Anfänger-Themen 22
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
W Parameter solange addieren bis 13 auftaucht Java Basics - Anfänger-Themen 11
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
G OOP- Brüche addieren Java Basics - Anfänger-Themen 3
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
J Zahlen addieren Java Basics - Anfänger-Themen 12
S Zahlenstrings addieren Java Basics - Anfänger-Themen 6
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
ArkHeat Erste Schritte Zwei 2-dimensionale Matritzen addieren Java Basics - Anfänger-Themen 0
reza_4247 addieren Nummern Java Basics - Anfänger-Themen 7
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
Viktormk Methoden Gleitpunktzahlen nach IEEE 754 addieren ! Java Basics - Anfänger-Themen 1
J Arrays erstellen und dann addieren Java Basics - Anfänger-Themen 19
S int addieren geht nicht Java Basics - Anfänger-Themen 13
N Kalender - Tag addieren gibt 31. Juni zurück Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
I Werte zu existierendem int addieren Java Basics - Anfänger-Themen 4
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
C Java Eingabeaufforderung-Basic Zwei Zahlen addieren Java Basics - Anfänger-Themen 2
S ArrayList Gruppieren, "Doppelte Werte" Addieren Java Basics - Anfänger-Themen 5
M Arrays addieren Java Basics - Anfänger-Themen 2
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
V addieren der ausgabewerte Java Basics - Anfänger-Themen 6
C OOP Probleme beim Addieren von Arrays Java Basics - Anfänger-Themen 4
B Vektor addieren Java Basics - Anfänger-Themen 4
G Summen addieren und Durchschnitt bilden Java Basics - Anfänger-Themen 4
A Erste Schritte aufeinanderfolgende Zahlen addieren Java Basics - Anfänger-Themen 5
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
K Rekursion gerade Zahlen addieren Java Basics - Anfänger-Themen 11
M Zweidimensionales Array um 1 addieren Java Basics - Anfänger-Themen 3
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19
J arrays miteinander addieren Java Basics - Anfänger-Themen 11
L Erste Schritte Programm Bestellung/Rechnung addieren Java Basics - Anfänger-Themen 3
T Zahl addieren problem Java Basics - Anfänger-Themen 1
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
R Scanner-Eingaben addieren Java Basics - Anfänger-Themen 5
putinator Mehrdimensionale Array addieren Java Basics - Anfänger-Themen 10
Eileen Brüche addieren in Zwei Klassen mit JOptionPane Java Basics - Anfänger-Themen 4
K double Arrays addieren Java Basics - Anfänger-Themen 5
L Durchgang addieren Java Basics - Anfänger-Themen 5
L Zufallszahlen addieren Java Basics - Anfänger-Themen 6
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
O Werte aus ArrayList multiplizieren und dann Ergebnis addieren Java Basics - Anfänger-Themen 3
P Erste Schritte Arrays addieren Java Basics - Anfänger-Themen 18
R Binärzahlen addieren Java Basics - Anfänger-Themen 8
S 2 TimeObjekte Addieren Java Basics - Anfänger-Themen 2
K Arrays zusammen addieren - brauche Denkanstoß:) Java Basics - Anfänger-Themen 4
B Werte eines Arrays addieren Java Basics - Anfänger-Themen 16
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
N NullPointerException beim Addieren von Matrizen Java Basics - Anfänger-Themen 3
D 3 Monate addieren Java Basics - Anfänger-Themen 10
U Diagonalen in 2D Array addieren Java Basics - Anfänger-Themen 4
T Größte und 2. Größte zahl Addieren Java Basics - Anfänger-Themen 29
Jats Zweierpotenzen addieren Java Basics - Anfänger-Themen 39
X 2 Daten addieren Java Basics - Anfänger-Themen 5
S Zahlen in Array speichern und addieren Java Basics - Anfänger-Themen 4
B Zahlenfolge addieren Java Basics - Anfänger-Themen 5
J In einer for Schleife zu einer Zahl 4 addieren? Java Basics - Anfänger-Themen 3
S primitives Objekt mit Primitiv addieren Java Basics - Anfänger-Themen 13
L longwert mit Methode addieren geht nicht! Java Basics - Anfänger-Themen 20
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
J Bitweise addieren Java Basics - Anfänger-Themen 6
P Kopie erstellen / addieren von Arrays Java Basics - Anfänger-Themen 5
M einen Tag addieren Java Basics - Anfänger-Themen 4
S [HILFE] Brüche addieren, multiplizieren, kürzen Java Basics - Anfänger-Themen 17
C ArrayList: Elemente addieren Java Basics - Anfänger-Themen 3
J 2 zahlen addieren Java Basics - Anfänger-Themen 3
T integer Werte einer ArrayList miteinander addieren Java Basics - Anfänger-Themen 5
N Addieren von zwei Arrays Java Basics - Anfänger-Themen 4
V Hexadezimal Zahlen addieren Java Basics - Anfänger-Themen 14
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
G Arrays Addieren Java Basics - Anfänger-Themen 5
O Integer addieren - Wo ist der Fehler? Java Basics - Anfänger-Themen 7
X reele Zahlen zwischen zwei Werten addieren Java Basics - Anfänger-Themen 11
M EInfaches Addieren mit Abbruchbedingung Java Basics - Anfänger-Themen 9
G Zahlen addieren in einer Schleife Java Basics - Anfänger-Themen 4
M zwei zweidimensionale Arrays addieren Java Basics - Anfänger-Themen 4
Spin Integer addieren Java Basics - Anfänger-Themen 22
G int zusammenfügen NICHT addieren Java Basics - Anfänger-Themen 9
G Benutzereingaben addieren Java Basics - Anfänger-Themen 14
S Addieren zweier Arrays Java Basics - Anfänger-Themen 10
B Java Dateien zu Projektstruktur addieren Java Basics - Anfänger-Themen 5
M Double Werte exakt addieren Java Basics - Anfänger-Themen 2
A Zahlen an einen Integer-Wert anhängen (nicht addieren!) Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben