package com.javarush.task.pro.task05.task0508;
import javax.naming.ldap.Control;
import java.util.Scanner;
/*
Удаляем одинаковые строки
*/
public class Solution {
public static String[] strings;
public static void main(String[] args) {
//напишите тут ваш код
// Считываем 6 строк в массив
strings=new String[6];
Scanner sc=new Scanner(System.in);
for(int i=0;i<6;i++){
strings[i]=sc.nextLine();
}
boolean controle=true;
for(int i=0;i<6;i++){
for(int j=i+1; j<6;j++){
if(strings[i].equals(strings[j])){
strings[j]=null;
controle=false;
}
}
if(controle==false){
strings[i]=null;
controle=true;
}
}
for (int i = 0; i < strings.length; i++) {
System.out.print(strings[i] + ", ");
}
}
}
Dmitriy_from_Vice_City
6 уровень
Если, при совпадении строк, присваиваю значение null, то IntelliJ выводит сообщение "Exception in thread "main" java.lang.NullPointerException". Если, при совпадении, строкам присвоить любое другое значение, в примере строка "ooops", то проект успешно скомпилируется. Почему не проходит с null?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий Каменщиков Junior QA Engineer в Перформанс Лаб
25 октября 2021, 07:33
null означает отсутствие объекта на который ссылалась бы переменная, а если нет объекта с которым можно работать, то и методы нету к чему применять. Попробуй лучше создавать тогда пустую строку
0
Ksenia Volkova Java Developer в DXC Master
24 октября 2021, 10:19
Потому что у null нельзя вызвать никакой метод, в том числе equlas - а ты делаешь именно это.
+1