带有if else语句的Java扫描器输入

正义的随机家伙

嗨,我是Java的新手,正在尝试进行测验。我想提出一个问题,用户必须将单词从分类到组合成对。就像A1 B4 C3 D2。我现在所做的是使用if else语句来检查输入是否正确答案,但仅适用于1A。对于其他人,我可以做6个输入,这不是我想要的,即使有正确的输入,我也没弄明白。

public class HelloWorld {

    public static void main(String[] args) {

        Scanner walther = new Scanner(System.in);

        String cro = "1A";
        String dan = "2C";
        String fin = "4D";
        String dut = "3F";
        String fre = "5B";
        String ger = "6E";
        int x = 0;


        if (cro.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else if (dan.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else if (fin.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else if (dut.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else if (fre.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else if (ger.equalsIgnoreCase(walther.nextLine())){
            ++x;
            walther.close();
        }
        else {
            walther.close();
        }

    System.out.println(x + " Point!");
    }
}
穆雷尼克

呼叫nextLine()会占用扫描仪中的线路。您在first上执行此操作if,因此else if,实际上,后续分支将比较以下各行null如果没有任何其他输入,则比较)。相反,您只应使用该行一次,将其保存到本地变量,然后在比较中使用它:

String input = walther.nextLine();
if (cro.equlasIgnoreCase(input)) { // etc...

话虽这么说,使用和if-else结构并不是最简洁的解决方案。通过使用不区分大小写 的代码,您可以节省很多代码膨胀TreeSet

TreeSet<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
set.addAll(Arrays.asList("1A", "2C", "4D", "3F", "5B", "6E"));
String input = walther.nextLine();
if (set.contains(input)) {
   ++x;
   walther.close();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有if else语句的Java扫描器输入

来自分类Dev

Java 扫描器 - 跳过所有“非整数”和“小于 0”输入

来自分类Dev

具有整数验证的 Java 扫描器

来自分类Dev

android只有输入片段后才启动zxing扫描器

来自分类Dev

具有不同输入类型的连续嵌套扫描器,包括带空格的字符串

来自分类Dev

Java扫描器代码If-then-else

来自分类Dev

Java else if 和扫描器

来自分类Dev

带有提示的 if / else 语句

来自分类Dev

Java扫描器需要多个输入

来自分类Dev

Byte []输入到Java扫描器

来自分类Dev

Java输入:扫描器或IOException

来自分类Dev

Java中的BigInteger扫描器输入

来自分类Dev

Java扫描器类没有这样的元素异常错误

来自分类Dev

带有 IF 语句的文本输入

来自分类Dev

没有条件语句时,for循环如何跳过我的扫描器功能之一

来自分类Dev

带有-parameters编译器标志异常的Tomcat 7注释扫描器和JDK 8

来自分类Dev

带有if语句的问题

来自分类Dev

If Then 带有日期的语句

来自分类Dev

带有 if 语句的会话

来自分类Dev

带有 if else 的 PreparedStatement

来自分类Dev

带有 if else 的 SQL

来自分类Dev

有没有一种方法可以对System.in输入和FileInputStream输入使用相同的扫描器?

来自分类Dev

带有setTimeout的if / else语句导致闪烁

来自分类Dev

带有If / Else语句的Jquery验证规则

来自分类Dev

带有setTimeout的if / else语句导致闪烁

来自分类Dev

带有If / Else语句的Jquery验证规则

来自分类Dev

带有else语句声明的错误(C ++)

来自分类Dev

带有 if/elif/else 语句的 while 循环

来自分类Dev

Java 跳过打印语句扫描器,特定于