Я новичок в Java и NetBeans.Я использую это исключение в NetBeans -> StringIndexOutOfBoundsException
Я сделал небольшой код (после учебника по youtube). Эта программа должна генерировать некоторые значения для кубика rubik, чтобы скремблировать. Я получаю исключение, а точнее StringIndexOutOfBoundsException Почему я получаю эту ошибку? И как я могу его обработать ... без «try, catch», потому что парень, который сделал учебник, не получил эту ошибку.
Может кто-нибудь мне помочь? Спасибо!
import java.util.Random;
public class VideoScramble {
Random r = new Random(System.currentTimeMillis());
String [] moves = {"R", "L", "D", "U", "F", "B"};
String [] directions = {"", "'", "2"};
public static void main (String [] args ) {
VideoScramble kkk = new VideoScramble();
kkk.getScramble();
}
public void getScramble() {
String scramble = " ";
String move1 = " ";
String move2 = " ";
String direction = " ";
for (int i = 0; i< 25 ; i++) {
String currentMove = getMove(move1, move2);
direction = directions [r.nextInt(directions.length)];
scramble += currentMove.charAt(0) + direction;
move1 = move2;
move2 = currentMove;
}
System.out.println(scramble);
}
public String getMove (String m1, String m2) {
String move = moves[r.nextInt(moves.length)];
if (m2 == move || mesmoEixo(m1, m2, move) == true) {
return getMove(m1, m2);
}
return move;
}
public boolean mesmoEixo (String m1, String m2, String m3) {
if(m2.charAt(1) == m1.charAt(1) && m2.charAt(1) == m3.charAt(1)) {
return true;
}
return false;
}
}
Узнайте, как отлаживать. Исключения потрясающие - они говорят вам, что пошло не так и где. Просто вам понять, почему !. – John3136
Я предполагаю 'm2.charAt (1) == m1.charAt (1) && m2.charAt (1) == m3.charAt (1)' должно быть с 0 всюду ... – Tunaki