Ich habe ein solches Programm:Warum gibt mein Code eine Ausnahme außerhalb des zulässigen Bereichs?
import java.util.Scanner; import java.io.*;
class C { public static void main (String[] args) throws IOException{
System.out.println("Wpisz teks do zakodowania: ");
String tekst;
Scanner odczyt = new Scanner(System.in);
tekst = odczyt.nextLine();
System.out.println("Tekst odszyfrowany:" + tekst);
char[]alfabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int dlugalf=26;
System.out.print("Tekst zaszyfrowany:");
int a = 0;
for(int i=0;;){
System.out.print(tekst.charAt(a));
a++;
}
}
}
Nach dem Start sollten Sie die Frage betrachten und fragen Sie Text eingeben. Dann sollte es das Zeichen zeigen, das ich geschrieben habe, und das Programm muss jeden dieser Buchstaben einzeln laden, nicht als ganze Zeichenfolge. Aber dann erscheint ein Fehler:
Exception in thread "main" java.lang.StringIndexOut OfBoundsException: String index out of range: 10
at java.lang.String.charAt(Unknown Source)
at C.main(C.java:34)
Es wird durch eine leere Zeichenfolge verursacht. Wie kann ich es loswerden? Ich habe versucht mit diesem Befehl:
if (!tekst.isEmpty() && tekst.charAt(0) == 'R');
aber es hat nicht geklappt.
Entschuldigung für irgendwelche Fehler; Ich spreche nicht besonders gut Englisch.
Nun, ich weiß nicht, welche Sprache diesen Beitrag in ist, aber ich kann, indem sie ein Zeichen bei Index _a_ Sie tun eine inifite Schleife Druck sehen und _a_ wird schließlich außerhalb der Grenzen Ihres Arrays gehen –