【问题标题】:Counting the number of scanner inputs by a user without using a loop在不使用循环的情况下计算用户的扫描仪输入数量
【发布时间】:2018-01-24 17:56:21
【问题描述】:

我不应该在这个作业中使用循环。只是 if/else 语句。

我正在尝试从扫描仪获取输入数量(最多 8 个输入)并将它们添加到计数器中。

例如,如果用户输入 1 3 6 4,则计数器应等于 4。

import java.util.Scanner;

public class MyPredictionsOfCodeBehaviour {

    public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);
        System.out.println("Enter some numbers between 1 and 8.");
        int counter = userInput.nextInt();
        System.out.println(counter);
        userInput.close();
    }

}

【问题讨论】:

  • 目前你的程序只读取 one int (userInput.nextInt())。您可以添加某种循环以读取所有可用的整数。或者使用不同的方法,例如首先将输入解释为String,使用userInput.nextLine()。之后,您可以使用正则表达式匹配或String 的其他方法(如String.split(" "))提取所有整数。对于复杂的输入,您将需要正则表达式方法 - 如果输入保持简单,则拆分将起作用。

标签: java if-statement


【解决方案1】:

将整个输入行扫描为字符串,按空格分割并读取结果数组的长度

public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);
    System.out.println("Enter some numbers between 1 and 8.");
    String input = userInput.nextLine(); //Read input as string
    System.out.println(input.split(" ").length); //Count inputs
    userInput.close();
}

如果您愿意,可以在split() 中使用任何其他分隔符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    相关资源
    最近更新 更多