要求: 程序查看字符串是否等于用户输入的一个或任何字符。用户可以输入以逗号分隔的任意数量的条目。
if user inputs one value (X) // in[0] = X;
if(str.equals(in[0]))
{
// do something
}
if user inputs two values (X,Y) // in[0] = X; in[1] = Y;
if(str.equals(in[0]) || str.equals(in[1]))
{
// do something
}
if user inputs three values (X,Y,Z) // in[0] = X; in[1] = Y; in[2] = Z;
if(str.equals(in[0]) || str.equals(in[1]) || str.equals(in[2]))
{
// do something
}
等等......等等......
如您所见,我无法编写这样的动态if语句。
我本来希望有类似下面的工作。有什么建议吗?
试用代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class test {
public static void main (String[] args) throws Exception {
System.out.println("Enter the characters separated by commas");
BufferedReader consoleinput = new BufferedReader(new InputStreamReader(System.in));
String input = consoleinput.readLine();
input = input.toUpperCase();
String[] in = input.split(",");
String str = "N";
if (str.equals(in))
{
System.out.println("Match found");
}
else
{
System.out.println("No match");
}
}
}
答案 0 :(得分:0)
你想要的是某种循环。
foreach(string str : in) {
//code here
}
答案 1 :(得分:0)
Apache Commons CLI library提供了一个API,用于解析传递给程序的命令行选项
答案 2 :(得分:0)
你找这样的东西吗?
if (Arrays.asList(in).contains(str)) {
// do something
}