В решении от JavaRush В 20-22 строках вложенный цикл который дальше через два условия заменяет значения в списке на null если они одинаковые,сравнение идёт парное
Вопрос: При введенном массиве [a, a, a, b, c, b]
Мы в начале сравниваем две "а", условие в цикле срабатывает и они становятся null т.е массив теперь имеет вот такой вид [null, null, a, b, c, b]
Дальше по циклу также будут заменены две "b" и массив будет таким (по моей логике таким) [null, null, a, null, c, null]
Но при компиляции вывод получается [null, null, null, null, c, null]
Каким образом непарная "а" превратилась в null?
Мой код был до просмотра правильного решения был следующим:
Сразу прокомментирую:
Заменял сразу не на null потому что при сравнении null с чем-либо компилятор ругался и не нашёл лучшего пути,кроме как заменять изначально на пустую строку и позже церез цикл заменять их на null
С выводом массива так и не разобрался,при подставлении вывода из правильного решения в моем коде комплитяор ругался на null
package com.javarush.task.pro.task05.task0508;
import java.util.Arrays;
import java.util.Scanner;
/*
Удаляем одинаковые строки
*/
public class Solution {
public static String[] strings;
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
String[] array = new String[6];
for (int i = 0; i < 6; i++)
{
array[i] = console.nextLine();
}
for (int i = 0; i <= 5; i++) {
for (int j = i + 1; j <= 5; j++) {
if (array[i].equals(array[j])) {
array[i] = "";
array[j] = "";
break;
}
}
}
for (int i = 0; i <= 5; i++){
if (array[i].equals("")){
array[i] = null;
}
}
for (String string : strings) {
System.out.print(string);
}
}
}
Данил Марин
12 уровень
Каким образом заменются непарные значения
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alexandr B
2 апреля 2022, 08:53
Создаем переменную currentString и в нее вкладываем значение strings[i] . когда после первого сравнения strings[i] становится null, переменная все равно сохраняет значение которое было в strings[i] до этого, пока не пройдет по всему массиву внутри цикла.
0