输入值,直到输入0。然后程序结束,但在此之前,如果它们是积分数,则给出所有值的总和。
这是我到目前为止所尝试的但是我被卡住了。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="caption"></div>
答案 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
循环条件。