扫描仪示例循环

时间:2015-10-27 11:16:33

标签: java loops methods integration java.util.scanner

输入值,直到输入0。然后程序结束,但在此之前,如果它们是积分数,则给出所有值的总和。

这是我到目前为止所尝试的但是我被卡住了。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="caption"></div>

3 个答案:

答案 0 :(得分:2)

oracle网站上的扫描仪上有一些很好的doco:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

如果您所期望的令牌不存在,扫描仪将抛出错误。我建议您在尝试解析之前检查整数input.hasNextInt()

这样的事情:

int sum = 0;
boolean exit = true;

Scanner input = new Scanner(System.in);

while (input.hasNextInt()) {

  int n = input.nextInt();

  if (n == 0) {
    break;
  } else {
    sum += n;
  }
}
// Print outside of the loop
System.out.println(sum);

该计划的结果

Input:
  1
  2
  3
  0
Output:
  6

答案 1 :(得分:0)

尝试;

    let url = URL(string: "http://company.com/file.txt")
    Downloader(yourOwnObject).download(url!)

你有int n; int sum = 0; boolean exit = true; Scanner input = new Scanner(System.in); while (exit) { n = input.nextInt(); if (n == 0) { exit = false; } else { sum += n; System.out.println(sum); } } 这是一个连续循环。

答案 2 :(得分:0)

工作代码:

import java.util.*;

public class Aufgabe2 {

    public static void main(String[] args) {
        /* TODO: add code here */
        int n;
        int sum = 0;
        boolean exit = false;
        Scanner input = new Scanner(System.in);
        while (!exit) {
            System.out.println("Enter a number:");
            n = input.nextInt();
            if (n == 0) {
                exit = true;
            } else {
                sum += n;
                System.out.println(sum);
            }
        }
    }
}

输出:

Enter a number:
1
1
Enter a number:
3
4
Enter a number:
6
10
Enter a number:
0

编辑:

您必须更改while (true)循环以使用布尔变量exit。我已相应地修改了代码并更正了while循环条件。