Dopiero rozpocząłem swoją przygodę z językiem Java, można powiedzieć. Mam pewną książkę i wykonuje poszczególne zadania. Jednym z zadań było wypisanie wszystkich cyfr danej liczby. Generalnie problem wydaje się prosty ale ja natrafiłem na problem z wyjątkiem. Oto kod
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new Main();
}
public Main(){
String tmp;
int n;
n = 0;
tmp = JOptionPane.showInputDialog("Podaj liczbe");
Character x = (char)tmp.charAt(n);
do {
JOptionPane.showMessageDialog(null, x );
n++;
x = (char)tmp.charAt(n);
} while (!x.equals(null));
}
}
Ja widać napisanie i zrozumienie tego nie stanowi problemu. Niestety w pętli wychodzę poza obszar Stringa wyrzuca mi coś takiego
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
Żeby to ominąć myślałem, że można po prostu sprawdzić czy zmienna jest null ale to też nie pomogło :(.
Moje pytanie jest takie, co robię źle :)? Jak to rozwiązać ?
Chciałem jeszcze dodać abyście byli wyrozumiali i nie besztali mnie za głupotę :).
dodanie znacznika <code class="java"> oraz <quote> dla treści błędu - fp