请问switch…case循环能做到判断scanner传入的值去判断数组有没有这个值,有就执行case方法体把scanner传入的值赋值给容器啊,如果传入的没有,就结束。
如果这个方法行不通,那么用什么来做数组和scanner之间的对比判断呢。
本人有一个小作业,遇到这个需要把扫描器传进来的数值和数组里的数值进行对比,对的就赋值给容器后再输出,没有就像else一样结束,不求师傅帮忙写作业,只求师傅能指导一下。
其实我觉得用switch...case是在已知道用户要输入了什么情况下用,我认为用if更好点,先获取输入值,然后再遍历数组判断是否正确
可以做判断,但不需要 switch case,示例代码如下:
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
String[] strs = new String[]{"aaa", "bbb", "ccc"};
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
for (String str : strs) {
if (str.equals(input)) {
list.add(str);
}
}
System.out.println("添加到列表中的值为:" + list);
}
}
执行结果如下:
对于未知的值 switch…case 不太好做;
简单点就用一个 循环遍历数组的值,然后依次与输入的值 用if 做对比