【发布时间】:2019-05-01 05:51:34
【问题描述】:
我写了 2 ArrayList type 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();
}
}
}
【问题讨论】:
-
您在寻找
dayArray.contains吗? -
你知道
dayArray.get(g).equals(a1)是什么意思吗? -
我认为您使用括号可能会导致您的一些问题
-
你检查输入是否相等,但想检查它是否不相等。所以只需添加一个“!”在你的 if 子句中