我在解决第1b部分问题时遇到了麻烦。
1a上。编写一个名为CountLoop.java的程序,它包含一个带有循环的main方法,该循环将计算并打印1到100之间所有整数的总和。执行程序以验证输出是否正确。“
public class CountLoop{
public static void main(String[] args){
int sum = 0;
int i = 0; // i is 0 Here
while (i<=100) {
sum += i;
i++;
}
System.out.println("The sum is " + sum);
}
}
1b中。程序运行后,重构它以便计算1 + 2 + ... + n,其中n是任何正整数。换句话说,修改后的程序应该提示用户输入一个数字,读取用户输入,计算从1到输入值的整数之和,然后输出总和。
import java.util.Scanner;
public class CountLoop{
public static void main(String[] args){
System.out.println("Please enter a positive whole number");
Scanner inPut = new Scanner(System.in);
int sum = 0;
int i = 0;
int userInput = inPut.nextInt();
while (i<=userInput){
sum += i;
i++;
System.out.println("Sum of this number: " + inPut.nextInt() + " is " + sum);
}
}
}
答案 0 :(得分:1)
基本上在你的while循环打印语句中,你一次又一次地寻找输入,这不是必需的:
System.out.println(&#34;此数字的总和:&#34; + inPut.nextInt()+&#34;是&#34; +总和);
根据问题,您只需要用户输入并编号为n,然后您需要返回1-N(包括1和n)之间的数字总和。
您只需要打印总和,然后将打印件移出循环。
public static void main(String[] args){
System.out.println("Please enter a positive whole number");
Scanner inPut = new Scanner(System.in);
int sum = 0;
int i = 0;
int userInput = inPut.nextInt();
while (i<= userInput){
sum += i;
i++;
}
System.out.println("Sum : " + sum);
}
如果问题没有被要求,最好是简单的sum of first n natural numbers
简单数学公式,而不是使用while循环。