Что не так. Вроде задачу разобрала, но выдает ошибку.
Заранее благодарна за помощь.
public static void main(String[] args) {
Scanner luck = new Scanner(System.in);
String to_wait [] = new String [6];
for (int i = 0; i < 6; i++) {
to_wait [i] = luck.nextLine();
}
for (int i = 0; i < to_wait.length; i++) {
if (to_wait[i] == null) {
continue;
}
}
for (int i = 0; i < to_wait.length ; i++) {
String Bart = to_wait [i];
for (int j = i=1; j < to_wait.length; j++) {
if (Bart.equals(to_wait[j])) {
to_wait[j] = null;
to_wait[i] = null;
}
}
}
}
}
Elena
2 уровень
Help please
Решен
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
//
30 августа 2022, 10:47полезный
if с проверкой на null бесполезный получился, он немного не там.
Ну, а тут for (int j = i=1; j < to_wait.length; j++) - ты зациклишься, надо немного изменить.
+1
Elena
30 августа 2022, 10:53
Да, вы совершенно правы.
заменила coutinue на break и for (int j = i+1; j < to_wait.length; j++)
Но ошибка все равно осталась.
0
//
30 августа 2022, 10:55
Этот if просто ничего не делает. Его надо переместить в нужное место, а создавать цикл отдельный для него - не надо. Там можно и continue оставить или break, смотря в каком месте поставите.
0
Elena
30 августа 2022, 10:58
Тогда я видимо не совсем понимаю null. В моем понимании - э то пустая ячейка цикла. Кода мы не ввели строку, а сразу же нажали Enter. То есть мы мы ввели строки, а потом проверили есть ли там пустые. По-моему логично?
А если нет, то тогда совсем ничего не понятно.
0
//
30 августа 2022, 11:03
Логично и верно, только это надо сделать в другом цикле, в котором вы присваиваете null повторяющимся элементам, а в данном случае вы просто проверяете на null и шагаете дальше. В следующем цикле у вас ровно тот же массив и остается, с ним ничего не происходит. Вам ниже подсказали, куда надо вставить эту проверку)
0
Elena
30 августа 2022, 11:07
Ничего не ясно. Но в любом случае спасибо за помощь.
0
An DongMeng Java Developer
30 августа 2022, 10:34
for (int i = 0; i < to_wait.length; i++) {
if (to_wait[i] == null) {
continue;
}
}
этот участок не делает ничего, так что когда потом вы проходите массив, Bart.equals(to_wait[j]) выдает nullpointexception потому, что Bart - null
0
Elena
30 августа 2022, 10:44
Извините, но если он ничего не делает, то в каком моменте Bart присваивается значение null?
0
An DongMeng Java Developer
30 августа 2022, 10:50
for (int i = 0; i < to_wait.length ; i++) {
String Bart = to_wait [i];
здесь нет никакой проверки на null
а та проверка, что была раньше просто прошла по всем элементам и ничего не сделала
0