【问题标题】:How to validate a string user's input against an string array in Java [duplicate]如何根据Java中的字符串数组验证字符串用户的输入[重复]
【发布时间】:2018-01-20 22:03:54
【问题描述】:

我被要求提示用户输入字符串数据,然后根据包含用户应输入的值的数据数组验证用户输入,并提示用户该字符串无效。

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

    //List of values the user suppose to enter

   String[] list = {"Monday","Thusday", "Wednesday", "Thusday", 
                   "Friday", "Saturday", "Sunday"}


     System.out.println("Enter a day:"\n Eg: Monday or Thursday")
     String day = keyboard.next();

 /**
   What should I write so that I can validate the user input against an
   string array of days? And prompt the user again if his input is not 
   a day.

 */

}

【问题讨论】:

标签: java arrays string arraylist


【解决方案1】:

这应该可以工作

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

    //List of values the user suppose to enter

    String[] list = {"Monday","Thusday", "Wednesday", "Thusday", 
            "Friday", "Saturday", "Sunday"};

    System.out.println("Enter a day:");
    String day = keyboard.next();

    if(!Arrays.asList(list).contains(day)) {
        System.out.println("Input is not a day!");
    }
}

【讨论】:

    【解决方案2】:

    您可以使用 for 循环(或 do/while 循环或 while 循环来循环数组) 然后将compare 用户的输入与每个array element 中包含的输入一起查看是否匹配。

    你甚至可以把它带到……如果用户输入 monday 而不是 Monday 怎么办?或者如果用户输入 monMon 而不是 Monday 会怎样?您可以在数组循环期间(例如在 for 循环 code block 中)处理这些情况(如果需要)。

    如果用户输入 monday 而不是 Monday,请阅读如何使用 Java 的 String.toLowerCase()String.toUppercase()String.equalsIgnoreCase() 方法.

    如果用户输入 Mon 而不是 Monday,请阅读如何使用 Java 的 String.length()String.substring() 方法。

    您当然可以将这些特殊情况包含在您的字符串数组中,例如:

    {mon, Mon, monday, Monday, MONDAY, tue, Tue, tuesday, Tuesday, TUESDAY, ...etc...}
    

    但是,这并不好玩,而且更容易出错(tUesDay)。即使您提供了示例,您也永远不知道用户将如何输入字符串,但是您可以再次拒绝接受他们的输入,除非他们遵守规则!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2014-07-17
      相关资源
      最近更新 更多