Programm tut nicht alles, was es soll

Status
Nicht offen für weitere Antworten.
K

kellog

Gast
Hi,

ich möchte einen Taschenrechner programmieren, bei dem man die Rechenoperation und die Operanden als Kommandozeile eingibt, so dass man das Programm Taschenrechner z.B. mit java Taschenrechner 3 mul 6 aufruft, wenn man wissen möchte, wie viel 3*6 ist.

Mein Code kompiliert ohne Fehlermeldung und das Programm funktioniert auch soweit, nur die Zeilen 8-10 werden nicht ausgeführt, d.h. auch wenn ich weniger als 3 Argumente eingebe, bekomme ich nicht meine Fehlermeldung aus Zeile 9 ausgegeben.
:?: Wer kann mir sagen, was denn an meinem Code nicht passt :?:
Denn ich finde meinen Fehler einfach nicht!!!

Code:
public class Taschenrechner{
    public static void main(String[] args) {
        int a = new Integer(args[0]).intValue();
        double x = (double) a;
        int b = new Integer(args[2]).intValue();
        double y = (double) b;

        if (args.length < 3) {
            System.out.println("Ihre Eingabe war fehlerhaft!!!");                            
        }
        
        else {
            if (args[1].equals("add")) {
                System.out.println(x+y);    
            }   else if (args[1].equals("sub")) {
                    System.out.println(x-y);
                }   else if (args[1].equals("mul")) {
                        System.out.println(x*y);
                    }   else if (args[1].equals("div")) {
                            if (y == 0) 
                                System.out.println("Division durch Null ist nicht erlaubt!");
                            else 
                                System.out.println(x/y);
                        }
        }
        System.exit(0);
    }
}
 

Leroy42

Top Contributor
Du greifst ja schon auf args[2] zu, bevor du die Anzahl der Argumente prüfst.

Mache zuerst die Längenabfrage bevor du auf irgendein Element
von args zugreifst.

P.S.: Warum hast du die ArrayIndexOutOfBounds-Exception nicht gepostet?
 

sonnendeck

Neues Mitglied
Du musst die Längenüberprüfung an den Anfang machen:

Code:
public class Taschenrechner
{
    public static void main(String[] args)
    {
        if (args.length < 3) // besser: args.length !=3
        {
            System.out.println("Ihre Eingabe war fehlerhaft!!!");
        }
        else
        {
            // die Variablen brauchen nur angelegt werden, wenn die Laenge stimmt
            int a = new Integer(args[0]).intValue();
            double x = (double) a;
            int b = new Integer(args[2]).intValue();
            double y = (double) b;
            
            if (args[1].equals("add"))
            {
                System.out.println(x + y);
            }
            else if (args[1].equals("sub"))
            {
                System.out.println(x - y);
            }
            else if (args[1].equals("mul"))
            {
                System.out.println(x * y);
            }
            else if (args[1].equals("div"))
            {
                if (y == 0)
                    System.out
                            .println("Division durch Null ist nicht erlaubt!");
                else
                    System.out.println(x / y);
            }
        }
        // Das ist nicht nötig
        System.exit(0);
    }
}

Ich hoffe das ist ok.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 1
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
J Interpreter-Fehler Programm gibt nicht gewünschtes Ergebnis aus Java Basics - Anfänger-Themen 11
SpigBin Programm läuft nicht weiter... Java Basics - Anfänger-Themen 10
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
Kirby.exe Programm startet nachdem es compiled wurde nicht Java Basics - Anfänger-Themen 17
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
D Warum gibt mir das Programm nicht den Array invertiert an ? Java Basics - Anfänger-Themen 1
L Programm lässt sich nicht starten! Java Basics - Anfänger-Themen 1
Z Montageberechnungs programm, finde leider den Fehler nicht Java Basics - Anfänger-Themen 13
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
W Warum läuft mein Programm nicht? Java Basics - Anfänger-Themen 14
I Programm tut nicht was es soll :) Java Basics - Anfänger-Themen 5
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
K Armstrong Programm geht nur bis 1000, aber nicht weiter Java Basics - Anfänger-Themen 2
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
T Input/Output Programm terminiert nicht -> stürzt ab, wo Fehler? Java Basics - Anfänger-Themen 3
F Erste Schritte Programm wird nicht geladen Java Basics - Anfänger-Themen 2
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
J Programm was üer Runtime.getRuntime gestartet wird erkennt String Parameter nicht Java Basics - Anfänger-Themen 0
ChrisPL4Y Wieso funktioniert dieses Programm nicht? Java Basics - Anfänger-Themen 6
N Warum terminiert mein Programm nicht? Java Basics - Anfänger-Themen 13
T Programm Funktioniert nicht Java Basics - Anfänger-Themen 2
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
S Programm läuft nicht weiter, wie Code wiederholen? Java Basics - Anfänger-Themen 2
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
G Programm wird nicht ausgeführt: Editor does not contain a main type Java Basics - Anfänger-Themen 10
D Programm läuft plötzlich nicht weiter Java Basics - Anfänger-Themen 12
P Programm kann über CMD nicht ausgeführt werden Java Basics - Anfänger-Themen 2
S Input/Output Programm läuft nach input-Abfrage nicht weiter. Java Basics - Anfänger-Themen 2
snipesss IDE zeigt keine Fehler an, Programm wird jedoch nicht ausgeführt. Java Basics - Anfänger-Themen 18
J Programm funktioniert nicht. Java Basics - Anfänger-Themen 3
J Programm wird nicht auf der Konsole ausgeführt Java Basics - Anfänger-Themen 2
K Erste Schritte Netbeans Programm läuft nicht Java Basics - Anfänger-Themen 23
F Programm bricht While Schleife nicht ab Java Basics - Anfänger-Themen 4
J Programm im Jar-Format funktioniert nicht richtig Java Basics - Anfänger-Themen 9
G Interpreter-Fehler NoClassDefFoundError - einfachstes Programm - komm nicht drauf!!! Java Basics - Anfänger-Themen 6
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
P Programm lässt sich nicht starten - Klasse mit Hauptmethode nicht gefunden Java Basics - Anfänger-Themen 9
M Programm wird nicht richtig ausgeführt Java Basics - Anfänger-Themen 4
B Compiler-Fehler [Lejos] [RCX] Programm lässt sich nicht kompilieren Java Basics - Anfänger-Themen 5
S Programm funktioniert nicht Java Basics - Anfänger-Themen 3
M Verstehe das Programm(Quellcode) nicht!! Java Basics - Anfänger-Themen 12
S Maus soll Programm nicht verlassen Java Basics - Anfänger-Themen 1
K Programm findet datei in Jar nicht Java Basics - Anfänger-Themen 9
N Bubblesort Programm funktioniert nicht Java Basics - Anfänger-Themen 19
S Operatoren Programm verlässt Do-While Schleife nicht - Warum? Java Basics - Anfänger-Themen 18
S Programm läuft in Eclipse, aber nicht über Konsole Java Basics - Anfänger-Themen 10
J Erste Schritte Bin ein Programm am schreiben klappt aber nicht und weis nicht warum Java Basics - Anfänger-Themen 20
V Compiler-Fehler Programm lässt sich nicht kompilieren Java Basics - Anfänger-Themen 22
B Programm funzt im defaultPackage. Aber nicht in einem anderen! Java Basics - Anfänger-Themen 6
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Erste Schritte Programm tut nicht das was es soll Java Basics - Anfänger-Themen 3
D Programm öffnet sich nicht Java Basics - Anfänger-Themen 5
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
M Programm läuft nicht überall Java Basics - Anfänger-Themen 9
1 jar-Programm startet nicht Java Basics - Anfänger-Themen 6
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
O Programm mit cmd nicht ausführbar Java Basics - Anfänger-Themen 14
9 Programm macht nicht was es soll Java Basics - Anfänger-Themen 6
B Programm startet in IDE,aber nicht in Windows Java Basics - Anfänger-Themen 4
B Erste Schritte Programm kompiliert nicht. Wieso? Java Basics - Anfänger-Themen 14
M Programm funktioniert als jar nicht Java Basics - Anfänger-Themen 19
T Opaque kennt er nicht/ programm beenden?? Java Basics - Anfänger-Themen 9
T Programm läuft nicht mehr... Java Basics - Anfänger-Themen 3
C Programm arbeitet nicht weiter Java Basics - Anfänger-Themen 2
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
J Finde Fehler bei kleinem Programm nicht Java Basics - Anfänger-Themen 3
O Warum terminiert mein Programm nicht!? Java Basics - Anfänger-Themen 15
J Classpath Programm lässt sich nicht ausführen Java Basics - Anfänger-Themen 5
Z Programm gibt nicht das gewollte aus. Java Basics - Anfänger-Themen 3
W Programm startet nicht Java Basics - Anfänger-Themen 3
H programm lässt sich nicht compilieren Java Basics - Anfänger-Themen 7
Fu3L Programm findet nach .jar-Export Dateien nicht Java Basics - Anfänger-Themen 3
L Programm zur Halbierung eingegbener Zahl geht nicht. Java Basics - Anfänger-Themen 7
Z Programm findet MAIN Datei nicht Java Basics - Anfänger-Themen 2
A Programm startet nicht! Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben