Hallo, warum bekomme ich diesen Fehler?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Erstmal würde ich die Sonderzeichen wie 'ü' aus allen Variablennamen entfernen.

Und hast du mal den ganzen code für uns? Wo z.b ist Zeile 10?

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Majd09 
Fragesteller
 26.05.2020, 21:05

10 . String schlüssel = args[0]

0
whgoffline  26.05.2020, 21:08
@Majd09

Wenn du eine Nutzereingabe wie z.b

Geben sie xzy ein: haben willst brauchst du scanner

0
Majd09 
Fragesteller
 26.05.2020, 21:13

nein

ich will , wenn man der Programm in CMD aufruft, schlüssel eingeben, ohne ( Bitte geben Sie ...)

0
whgoffline  26.05.2020, 21:16
@Majd09

Also sowas?

java -jar test.jar MeinTollerSchluessel

Dann schau dir mal folgendes Beispiel an

public static void main(String args[]){  
  
for(int i=0;i<args.length;i++)  
  System.out.println(args[i]);  
}  
0
Majd09 
Fragesteller
 26.05.2020, 21:25
@whgoffline

java Crypto crypt Sommersemester Schokopudding

ich will den Programm so aufrufen von

wenn crypt ist arg[0] ,

und Sommersemester arg [2], damit ich Sommersemmerter in mein code benutzen kann

0

Hey,

das liegt daran, dass das Array "args" keinen Inhalt hat und du somit nicht auf den ersten Wert zugreifen kannst.

Mfg Jannick (L1nd)

Woher ich das weiß:Hobby
Majd09 
Fragesteller
 26.05.2020, 20:56

ich möchte dass, der nutzer das eingeben muss ich hier Scanner benutzen ??

1
Majd09 
Fragesteller
 26.05.2020, 21:40

geht es ohne Scanner

aslo mit args []

java Crypto crypt Sommersemester Schokopudding

so möchte ich den programmen von CMD aufrufen, dann erkennt er dass, das Sommersemester = arg [1]

0

1) Zu deinen Bezeichnern: Bleibe einheitlich, entscheide dich für eine Sprache (Deutsch oder Englisch) und nutze aussagekräftige Namen. Achte darauf, durchgehend die kamelHoeckerSchreibweise zu verwenden und schau des Weiteren noch einmal bezüglich Tippfehlern (Buchstabendreher, fehlende Buchstaben) durch deinen Code.

Umlaute in Bezeichnern solltest du generell meiden, sie sorgen im worst case für Probleme (bspw. beim Kompilieren). Du kannst sie ja mit ue, ae, oe, ... ersetzen.

2) Um die Länge eines Strings zu ermitteln, kannst du die length-Methode verwenden.

int lengthOfString = someString.length();

So wie ich das sehe, ist die Variable password nicht notwendig, bzw. statt einem Array, solltest du nur eine Zahl (die Länge des Strings) in ihr speichern.

3) Bevor du auf die Einträge von arg zugreifst (normalerweise nennt man es übrigens args, da es - wie auch bei dir - mehrere Elemente beinhalten kann), solltest du prüfen, ob die Einträge überhaupt existieren, auf die du zuzugreifen versuchst.

if (args.length < 3) {
  // print some error message ...
  return;
}

// do something with args ...
Majd09 
Fragesteller
 27.05.2020, 14:22

Okay, vielen Dank

0

Steht doch in der Fehlermeldung. Du hast einen Index angegeben, den es im Array nicht gibt ("out of bounds"). Vermutlich ist entweder die Null falsch oder Du hast dem Programm beim Aufruf keine Parameter übergeben.