我从MOOC学习Java并且坚持这个练习:
真的遇到这个问题。我能够创建一个程序,该程序可以计算用户所选的数字(如下),但仍坚持如何将所有数字添加到变量 n 。
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int start = 0;
System.out.println("Until which number? ");
int n = Integer.parseInt(reader.nextLine());
System.out.println("Counting begins now...");
while (start <= (n - 1)) {
System.out.println(start += 1);
}
}
感谢任何帮助。
答案 0 :(得分:0)
int sum = 0;
while (start <= n) {
sum += start;
++start;
}
System.out.println(sum);
根据您的指南,您需要记录迭代次数start
,并且需要计算存储在其自己的变量sum
中的总和。
start
需要每次迭代递增
sum
需要是其先前的值加上start的当前值
答案 1 :(得分:0)
您走在正确的轨道上,首先要获得同一行的输入(例如在任务的预期输出中),请使用print
而不是println
。
然后基本上只跟踪两个“helper”变量count
和sum
,并且只在while循环之外打印变量sum
的值:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Until what?");
int n = scanner.nextInt();
int count = 0;
int sum = 0;
while(count <= n) {
sum += count; // increment the sum variable by the value of count
count++; // increment the count variable by 1
}
System.out.println("Sum is " + sum);
}
}
NB 此外,我已使用扫描程序方法 nextInt() 而不是您的Integer.parseInt
解决方案,在将来,您可能希望将此配对与返回布尔值的 hasNextInt() 进行配对,以确保在用户输入除Integer之外的其他内容时程序不会崩溃。
示例用法1:
Until what? 3
Sum is 6
示例用法2:
Until what? 7
Sum is 28
尝试 here!