Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68

Сравнение элементов ArrayList

07.04.2023, 21:58. Показов 1395. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я создаю список, в котором хранится несколько имен, считанных из файла. Имеющиеся имена нужно сравнить с именем, введенным в TextField. В список из файла имена добавляются, введенное отдельно имя тоже считывается, а вот со сравнением каки-то проблемы.

В строке
Code
1
 if(nPl1 == name.get(i))
знак "==" почему-то подчеркивается желтым цветом.
Подскажите пожалуйста в чем проблема.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
 okPlay1.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        String nPl1 = txtPlay1.getText();
                        for(int i = 0; i < name.size(); i++){
                            if(nPl1 == name.get(i)){
                                System.out.println(name.get(i));
                            }
 
                        }
 
                    }
                });
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2023, 21:58
Ответы с готовыми решениями:

Сравнение два ArrayList на одинаковые значения
Дано: 1) - ArrayList&lt;String&gt; listSelectedAnswers - Список с выбранными ответами {OTVET1, OTVET4} 2) - ...

Сравнение символов в файле или ArrayList
Здравствуйте, я написал программу которая считывает с файла строки и переписывает их в другой файл, вставив в конец каждой строки ее номер....

Сравнение двух ArrayList
Друзья, есть 3 аррэйлиста. Кол-во элементов в 2 и 3 листе одинаковое. 1 - Номер 2 - Номер 3 - Статус Нужно сделать...

9
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
07.04.2023, 22:26
Цитата Сообщение от nz2003 Посмотреть сообщение
почему-то подчеркивается желтым цветом.
Ну тк ты мышку наведи и прочитай, че пишут-то:
String values are compared using '==', not 'equals()'
Сравнение строк (String) в java. Мини гайд для начинающих
0
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
07.04.2023, 22:29  [ТС]
Цитата Сообщение от Coffeini Посмотреть сообщение
Сравнение строк (String) в java. Мини гайд для начинающих
Я прочитал, что сравнение можно осуществить через метод contains, он почему-то он пишет, что такого имени в списке нет, хотя оно должно быть. Эта проблема может быть из-за кодировки текстового файла?
Code
1
2
3
4
5
6
public void actionPerformed(ActionEvent e) {
                        String nPl1 = txtPlay1.getText();
                        if(name.contains(nPl1)) {
                            
                        }
                    }
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
07.04.2023, 22:33
Цитата Сообщение от nz2003 Посмотреть сообщение
он почему-то он пишет, что такого имени в списке нет
Ну значит такого имени нет.
Цитата Сообщение от nz2003 Посмотреть сообщение
Эта проблема может быть из-за кодировки текстового файла?
Без понятия. Формат UTF существует уже лет 30? Почему до сих пор кто-то использует индусские кодировки...
Лучше скинь сам файл и искомое имя.
0
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
07.04.2023, 22:35  [ТС]
Цитата Сообщение от Coffeini Посмотреть сообщение
Лучше скинь сам файл и искомое имя.
Вот файл. Например, имя "Максим"
Вложения
Тип файла: txt Имена игроков.txt (56 байт, 2 просмотров)
0
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
07.04.2023, 22:40  [ТС]
Цитата Сообщение от nz2003 Посмотреть сообщение
Вот файл. Например, имя "Максим"
Считывание файла осуществляется так
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 name = new ArrayList<>();
        try (FileReader f = new FileReader("Имена игроков.txt")) {
            StringBuffer sb = new StringBuffer();
            while (f.ready()) {
                char c = (char) f.read();
                if (c == '\n') {
                    name.add(sb.toString());
                    sb = new StringBuffer();
                } else {
                    sb.append(c);
                }
            }
            if (sb.length() > 0) {
                name.add(sb.toString());
            }
        } catch (IOException g){ // если файл с введенным именем не существует, выводим сообщение об ошибке
 
        }
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
07.04.2023, 22:53
Я так проверил, пишет true
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
 
public class Main {
    public static void main(String[] args) throws IOException {
        var names = getNamesGamer();
        System.out.println(names.contains("Максим"));
    }
 
    public static List<String> getNamesGamer() throws IOException {
        try (var l = Files.lines(Path.of("src\\main\\java\\Имена игроков.txt"))) {
            return l.toList();
        }
    }
}
Добавлено через 4 минуты
А у тебя считывание кривое. Хотя бы посмотри, что находится в итоговом name.
1
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
07.04.2023, 22:54  [ТС]
Цитата Сообщение от Coffeini Посмотреть сообщение
А у тебя считывание кривое. Хотя бы посмотри, что находится в итоговом name.
Вроде, из листа все считывается правильно, а как можно переделать считывание?
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
07.04.2023, 23:01
Цитата Сообщение от nz2003 Посмотреть сообщение
из листа все считывается правильно
Замечательно, но в листе нет понятия считывания. Это относится только к файлам.
Цитата Сообщение от nz2003 Посмотреть сообщение
а как можно переделать считывание?
У меня метод getNamesGamer посмотри.
0
0 / 0 / 0
Регистрация: 10.10.2021
Сообщений: 68
07.04.2023, 23:03  [ТС]
Цитата Сообщение от Coffeini Посмотреть сообщение
У меня метод getNamesGamer посмотри.
Я пытаюсь исправит, но ничего толкового не получается. Подскажите пожалуйста, как можно исправить считывание
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2023, 23:03
Помогаю со студенческими работами здесь

ArrayList: Сформировать массив C, состоящий из нечетных элементов А и из отрицательных элементов B
Даны два массива A и B. Сформировать новый массив C, состоящий из нечетных элементов из массива А и из отрицательных элементов из массива В.

В классе Use объявить ArrayList и добавить в каждый элемент ArrayList ID, Name, Text, Song
народ помогите есть класс Card и класс Use, код бросил, namespace KURSOVA { class Card { public string Name {...

ArrayList: необработанное исключение. Операции над множествами с использованием ArrayList
Задача: разработать калькулятор для логических множеств ( для операций пересечение, объединение, разность и симметричная разность). Сделано...

Зачем ресурс определенный в XAML как ArrayList доп-но приводится к типу ArrayList в коде с#?
Ресурс &quot;phones&quot; для ListView определен в XAML как ArrayList. Затем в коде c# он дополнительно приводится к типу ArrayList. Зачем это...

Для чего написано: ArrayList<person> people = new ArrayList<>();
package com.company; import java.util.ArrayList; import java.util.Iterator; public class Main { public static void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru