Fehlermeldung bei der Ausführung eines Compilierten PRGs

HeXaGoN

Mitglied
Hi.
Ich habe das JDK 1.8 installiert und kann damit auch Compilieren.
Momentan versuche ich das Buch -> Programmieren mit Java <- von Reinhard Schiedermeier des Verlags Pearson Studium durch zu arbeiten.
Die ersten Programme und die beinhalteten Mathe Funktionen sind auch compilier und ausführbar aber mit einem Befehl gibt es Probleme.
Wenn ich versuche die Variable n durch n = Integer.parseInt(args[0])
von dem Benutzer eingeben zu lassen, wird es zwar Compiliert aber bei der Ausführung wird die Fehlermeldung:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
                                          at Input.main(Input.java:6)
ausgegeben.

Da das Buch mit der Version 1.6 arbeitet vermute ich das der Befehl verändert wurde oder etwas in der Art.

Also ich versuche die Variable -> n <- durch ein -> Input <- vom Benutzer mit einer Zahl füllen zu lassen.

Kann mir jemand helfen? Also wie muss ich den Befehl ändern damit ich Tastatur Eingaben verarbeiten kann?
Oder weiß jemand wo ich eine JDK Version 1.6 Downloaden kann ohne mich extra registrieren zu müssen?
Gruß HeXaGoN
 
Zuletzt bearbeitet von einem Moderator:
Das ist kein Problem der Version.
Du musst die Zahl beim Aufruf des Programms übergeben, also
Code:
java Input 7
 
Was für eine Zahl muss ich beim Aufruf übergeben?
Die Zahl soll doch der Benutzer des PRGs über die Tastatur eingeben...

Wie soll ich das von dir geschriebene -> java Input 7 <- benutzen um eine Variable vom PRG Benutzer füllen zu lassen

// Hier wird versucht durch Tastatur Eingabe die Variable n mit einem Wert zu füllen
n = Integer.parseInt(args[0]) ;

Worauf bezieht sich die 7
 
In dem Array args der main-Funktion stehen die Parameter, die beim Aufruf des Programs übergeben werden.
Wenn der User die Zahl im laufenden Programm angeben soll, solltest du einen Scanner benutzen.
 
Ich fange gerade erst mit dem oben genannten Buch in Java an. Das mit dem Input ist eine erste Änderung die ich im ersten Programm des Buches als Aufgabe gestellt bekomme.
Ich kenne mich also weder mit der main-Funktion noch mit Arrays oder Scanner oder sonstwas in Java aus.

Über Google habe ich sehr komplizierte Befehls Kombinationen gefunden.
Ist es nicht möglich

n = Input.über.Tastatur

zu schreiben?

Mir kommt es so vor als wenn es im Buch falsch beschrieben ist.
 
Also das Ganze PRG sieht so aus ->

class Sum{
public static void main(String[] args) {
int n;
int s;
int i;
n=4;
s=0;
i=1;
while(i <=n){
s=s+i;
i=i+1;
}
System.out.println(s);
}
}

<-

Jetzt soll ich aber anstatt -> n = 4 ; <- -> n = Integer.parseInt(args[0]) ; <- Schreiben.
 
Jetzt da ich es weiß versteh ich besser was er meinte. Hab die ganze Zeit überhaupt nicht in die Richtung gedacht.
Hätte der Autor im Buch vielleicht deutlicher beschreiben können.
Das der Autor des Buches jetzt aber ohne weitere Erklärung von mir erwartet das ich mehrere Parameter von der Kommandozeile beim PRG Aufruf verarbeite, finde ich auch für Absolute Java Anfänger etwas hart.
Irgendwo habe ich mal gelesen wenn man ein Programm schreibt soll man daran denken das der User ein Dau (Dümmster anzunehmener User) ist. Ich würde sagen das das auch für Autoren von solchen Büchern zutreffen sollte.

PS.
Danke für die Mühe
Gruß HeXaGoN
 

Zurück
Oben