java - 检查输入是否在 ArrayList 中

标签 java oop arraylist

我写了 2 ArrayList 类型 String 包含日期和可能的时间,我希望用户输入,然后检查输入是否不是来自数组将显示一条消息,表明输入无效,用户再次输入。但是我的代码的结果给了我相反的结果:(当我在数组外输入一些东西时它会接受它 我的代码有什么问题?? 请告诉我正确的代码:(

package javaapplication19;

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

public class JavaApplication19 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        ArrayList<String> dayArray = new ArrayList<>();
        ArrayList<String> timeArray = new ArrayList<>();
        dayArray.add("sunday");
        dayArray.add("monday");
        dayArray.add("tuesday");
        dayArray.add("wednesday");
        dayArray.add("thursday");
        timeArray.add("8am");
        timeArray.add("9am");
        timeArray.add("10am");
        timeArray.add("11am");
        timeArray.add("12pm");
        timeArray.add("1pm");
        timeArray.add("2pm");
        timeArray.add("3pm");
        timeArray.add("4pm");

        System.out.println("please enter day :");
        String a1 = input.nextLine();
        for (int g = 0; g < dayArray.size(); g++){
            if (dayArray.get(g).equals(a1))
                System.out.println("invalid day , please enter another day : ");
        a1 = input.nextLine();
}

        System.out.println("please enter time : ");
        String a2 = input.nextLine();
        for (int s = 0; s < timeArray.size(); s++) {
            if (timeArray.get(s).equals(a2))
                System.out.println("invalid time , please enter another time : ");
            a2 = input.nextLine();

        }
    }
}

最佳答案

您可以使用下面的代码并查找 if 条件的变化。

System.out.println("please enter time : ");
String a2 = input.nextLine();
for (int s = 0; s < timeArray.size(); s++) {
if (!timeArray.get(s).equals(a2))
System.out.println("invalid time , please enter another time : ");
a2 = input.nextLine();
}

关于java - 检查输入是否在 ArrayList 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53534409/

相关文章:

java - 有没有办法对 Azure 数据工厂中的数据进行分区以填充文件,直到达到最大行值?

java - 在不使用内置函数的情况下切换字符串大小写时转换为 char

c++ - 在模板中使用派生类并将其存储到基类的 vector 中

java - 将 ArrayList 的 ArrayList 与 ArrayList 进行比较

c# - 数组与数组列表的显着差异?

java - Mobicents JSS7 - 启动 sigtran 协会

C++:跟踪类对象

php - 对象分配在 PHP OOP 中没有意义

JAVA:如何使用对象包装实例将 ArrayList 初始化为特定类类型?

java - LibGdx 坠落物体