Простой java вопрос программирования Arraylist - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь сказать, была ли эта строка найдена в списке или нет. Например, если я помещаю Макс в свой список и ищу Макс, он должен сказать «Макс был найден». Если нет, он должен сказать «Макс не найден»

Я не знаю, как подойти к получая ответ отсюда.

import java.util.ArrayList;
import java.util.Scanner;

public class OnTheList {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        ArrayList<String> list = new ArrayList<>();
        while (true) {
            String input = scanner.nextLine();
            if (input.equals("")) {
                break;
            }

            list.add(input);

        }

        System.out.print("Search for? ");
        System.out.print(scanner.nextLine());


        if (list.contains(list)) ----> I think this is the part where I am not getting it
            System.out.println(" was found!");
        else 
            System.out.println(" was not found");

    }
}

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Вы можете сохранить слово для поиска, здесь вы запрашиваете его с помощью scanner.nextLine() и печатаете, но не сохраняли. Затем используйте переменную, в которой вы сохранили слово, чтобы проверить List

System.out.print("Search for? ");
String toSearch = scanner.nextLine();

if (list.contains(toSearch)) 
    System.out.println(toSearch + " was found!");
else 
    System.out.println(toSearch + " was not found");
0 голосов
/ 17 июня 2020

Здесь вы не сохранили пользовательский ввод, который вы получаете от Search for, и вы пытаетесь найти элемент списка, но передаете список в качестве аргумента для метода contains (), Итак, сначала сохраните пользовательский ввод для переменной поиск этого ввода путем передачи его в качестве аргумента методу contains () и не забудьте закрыть переменную сканера в конце программы, чтобы избежать памяти утечки, как показано ниже.

import java.util.ArrayList;
import java.util.Scanner;

public class OnTheList {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    ArrayList<String> list = new ArrayList<>();
    while (true) {
        String input = scanner.nextLine();
        if (input.equals("")) {
            break;
        }

        list.add(input);

    }

    System.out.print("Search for? ");
    String toSearch = scanner.nextLine(); 


    if (list.contains(toSearch))  
        System.out.println(" was found!");
    else 
        System.out.println(" was not found");

    scanner.close();

}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...