为什么这个switch语句不起作用?

时间:2015-10-15 04:54:45

标签: java string switch-statement hashcode

import java.util.Scanner;

public class VerticalWire {
    public static void main(String[] args)
    {  
        Scanner in = new Scanner(System.in);
        System.out.println("how many wires");
        String howManyWires = in.next();

        switch(howManyWires) {
            case "3":
            {
                 System.out.println("true");
                 break;
            }

            case "3 5":
            {
                 System.out.println("false");break;}
            }
     }
}

我测试过如果我输入“3 5”它返回true,即使我认为它应该返回false! 有什么问题?

1 个答案:

答案 0 :(得分:0)

使用in.nextLine()代替in.next()

scanner.next()州的文件

  

查找并返回此扫描仪的下一个完整令牌。

因此,当您输入3 5作为输入时,当您调用next方法时它将只读取3,如果您再次调用next方法,则它将读取为5.