Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中根据字符串数组验证字符串用户的输入_Java_Arrays_String_Arraylist - Fatal编程技术网

如何在Java中根据字符串数组验证字符串用户的输入

如何在Java中根据字符串数组验证字符串用户的输入,java,arrays,string,arraylist,Java,Arrays,String,Arraylist,我被要求提示用户输入字符串数据,然后根据包含用户应输入值的数据数组验证用户输入,并提示用户字符串无效 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", "Thusda

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

 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.

 */

}
这应该行得通

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!");
    }
}

您可以使用一个循环或一个循环或一个循环遍历数组,然后将用户的输入与每个数组中包含的输入进行循环,以查看是否存在匹配

你甚至可以把它带到。。。。如果用户输入的是星期一而不是星期一怎么办?或者,如果用户输入mon或mon而不是周一呢?例如,在for循环中循环数组时,如果需要,可以处理这些情况

如果用户输入的是星期一而不是星期一,请阅读如何利用Java的and或方法

如果用户输入Mon而不是Monday,请阅读如何利用Java的和方法

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

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

但是,这一点都不好玩,更容易出错。您永远不知道用户将如何输入字符串,即使您提供了一个示例,但您也可以拒绝接受他们的输入,除非他们遵守规则

我们是一个问答网站,而不是一个编码出租服务。请将您的问题缩小到一个特定的编码问题,这将是本网站的主题。请参阅:和在发布前始终搜索堆栈溢出。你可以假设像这样的基本问题已经被提出和回答了。b顺便说一下,请参阅枚举。