Вот не нравится мне, что если глянул правильное решение (была запара именно с null, не мог понять что хочет задача) дальнейшие манипуляции с кодом бессмысленны. задача уже решена хоть пустой код запуска.
Решил в Intelligent IDEA.
package com.javarush.task.pro.task05.task0508;
//import java.util.Arrays; не понадобился
import java.util.Scanner;
/*
Удаляем одинаковые строки
*/
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String[] strings = new String[10];
for(int i=0;i<10;i++) strings[i] = console.nextLine();
for(int i=0;i<10;i++) {
boolean repeat = false;
if (strings[i]==null) continue;
for(int j=i+1;j<10;j++) {
if (strings[j]==null) continue;
if (strings[j].equals(strings[i])) {
strings[j] = null;
repeat=true;
}
}
if (repeat) strings[i]=null;
}
for(int i=0;i<10;i++) System.out.println(strings[i]) ;
}
}
Дмитрий Б.
29 уровень
Код на обсуждение.
Архивный
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий Б.
26 января 2021, 22:57
Да, код рабочий. просто решение немного по-другому реализовано.
0
Даниил Александрович
26 января 2021, 10:33
вместо null
воспользуйтесь методом
Empty()
0
Ksenia Volkova Java Developer в DXC Master
26 января 2021, 10:35
?
0
Даниил Александрович
26 января 2021, 15:07
Сначала пришла идея про неверное сравнение.
Заменить на
Но сейчас вижу ошибку такого плана
Как только объекту присваевается null сборщик мусора удаляет объект из памяти. Возможно в этом и закралась ошибка кода. 0
hidden #598481
26 января 2021, 15:41
У тебя объектом является массив, а не элемент массива. И никакой сборщик мусора у тебя не украдет ячейку из массива.
Задание требует помещать в ячейки именно null взамен строк, которые совпали в массиве. null, а не пустые строки
+1
Даниил Александрович
26 января 2021, 16:19
Вы правы. Тогда получается код полностью рабочий?
0