当前位置: 首页 > 知识库问答 >
问题:

我想显示我输入的每个数字,同时 loop.so 我该怎么做

周枫涟
2023-03-14

必须创建一个java应用程序,该应用程序将确定并显示用户输入的数字总和。求和必须在用户希望的时间内进行。当程序结束时,求和必须显示如下,例如,用户输入3个数字:10、12、3=25

并且必须使用while循环

共有2个答案

何宏博
2023-03-14

有很多方法可以实现这一点。这是一个可以改进的代码示例(例如,如果用户没有输入数字,可以捕获InputMismatchException)。请在下一次,张贴你尝试过的和你坚持的地方。

public static void main (String[] args) {
    boolean playAgain = true;
    while(playAgain) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Please enter the first number : ");
        int nb1 = sc.nextInt();
        System.out.println("Ok! I got it! Please enter the second number : ");
        int nb2 = sc.nextInt();
        System.out.println("Great! Please enter the third and last number : ");
        int nb3 = sc.nextInt();
        int sum = nb1+nb2+nb3;
        System.out.println("result==>"+nb1+"+"+nb2+"+"+nb3+"="+sum);
        boolean validResponse = false;
        while(!validResponse) {
            System.out.println("Do you want to continue ? y/n");
            String response = sc.next();
            if(response.equals("n")) {
                System.out.println("Thank you! see you next time :)");
                playAgain = false;
                validResponse = true;
            } else if(response.equals("y")) {
                playAgain = true;
                validResponse = true;
            } else {
                System.out.println("Sorry, I didn't get it!");
            }
        }
    }
    
}
年文柏
2023-03-14

这里有一个函数可以做到这一点。需要的时候就调用这个函数。

Ex:System.out.println(parseSum("10 12 3"))25

public static int parseSum(String input) {
  // Removes spaces
  input = input.replace(" ", "");
  
  int total = 0;
  String num = "";
  int letter = 0;

  // Loop through each letter of input
  while (letter < input.length()) {
    // Checks if letter is a number
    if (input.substring(letter, letter+1).matches(".*[0-9].*")) {
      // Adds that character to String
      num += input.charAt(letter);
    } else {
      // If the character is not a number, it turns the String to an integer and adds it to the total
      total += Integer.valueOf(num);
      num = "";
    }
    letter++;
  }
  total += Integer.valueOf(num);
  return total;
}

然而,当循环本质上是一个for循环。您需要它成为当循环的具体原因是什么?

 类似资料: