Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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_Search_If Statement - Fatal编程技术网

Java 列出一组要搜索的值的可能性

Java 列出一组要搜索的值的可能性,java,search,if-statement,Java,Search,If Statement,我的问题是:是否有可能在if语句中列出一组要搜索的值?还是有更好的方法? 例如: Scanner input=new Scanner (System.in); String searchTerm=input.next(); if(input==1d,2d,3d,4d,5c,1a,3x,5c,6b){ // Do stuff } Set<String> invalidInputs = new HashSet<String>(); validInputs.add(

我的问题是:是否有可能在if语句中列出一组要搜索的值?还是有更好的方法? 例如:

Scanner input=new Scanner (System.in);
String searchTerm=input.next();

if(input==1d,2d,3d,4d,5c,1a,3x,5c,6b){
    // Do stuff
}
Set<String> invalidInputs = new HashSet<String>();
validInputs.add("1d"); //and all the rest

编辑:非常抱歉,我没有意识到我的问题没有完成,甚至有点错误。。。天哪。现已修复。

您可以根据值创建一个列表,然后检查是否包含

if (list.contains(input))

使用和使用
包含将它们转换为
列表

if (!Arrays.asList("1d", "2d", "3d", "4d", "5c", "1a", "3x", "5c", "6b").contains(input)) {
    // Do stuff
}

创建一个新集合,并查看是否在其中找到该值:

if(!(Arrays.AsList("1d", "2d", "3d", "4d").Contains(input))){ }

将值集放入集合中。例如:

Scanner input=new Scanner (System.in);
String searchTerm=input.next();

if(input==1d,2d,3d,4d,5c,1a,3x,5c,6b){
    // Do stuff
}
Set<String> invalidInputs = new HashSet<String>();
validInputs.add("1d"); //and all the rest

我建议使用以下列表:

  • 将要搜索的值添加到列表中
  • 使用
    List.contains(Object o)
    检查输入是否为其中一个值

您需要使用if语句进行单独的比较(这不需要使用Java更高级的东西)。如果要比较多个值,我建议使用Switch语句

switch (input){
    case '1d': case '2d': case '3d': case '4d': case '5c': case '1a': case '3x': case '6b':
        //do something
        break;
    default:
        //do something
}
尝试使用数组

String[] test= {"1d","2d","3d","4d","5c","1a","3x","5c","6b"};
        for(int i=0;i<test`length;i++)
            if(!input.contentEquals(test[i]))
            {
                //Something
            }
String[]test={“1d”、“2d”、“3d”、“4d”、“5c”、“1a”、“3x”、“5c”、“6b”};

对于(int i=0;i)我是真正需要搜索的字符串,例如
“1d”、“2d”
,等等?或者可能?你的问题不清楚。@m0skit0,什么?他答对了。
不是唯一的原因。今天的回答很快,我理解了我的代码空白。我责备7个小时的编码,可能5-6个小时在午夜之前就结束了。哦,太好了。任何收集都可以