Java 对1到100之间的所有奇数求和的程序
尝试创建一个程序,将1到100之间的所有奇数相加,显示它,然后显示平均值。我不明白为什么循环会提前中断。这也是超级新的,所以请放轻松:pJava 对1到100之间的所有奇数求和的程序,java,logic,Java,Logic,尝试创建一个程序,将1到100之间的所有奇数相加,显示它,然后显示平均值。我不明白为什么循环会提前中断。这也是超级新的,所以请放轻松:p int sum = 0; double average; double lowerbound = 1; double upperbound = 100; double number = lowerbound; double remainder = 1; //loop while(number<= upperbound) if (
int sum = 0;
double average;
double lowerbound = 1;
double upperbound = 100;
double number = lowerbound;
double remainder = 1;
//loop
while(number<= upperbound)
if (remainder == 1){
sum += number;
remainder = number%2;
System.out.println(number);
number++;
}else{
number++;
}
average = sum/upperbound;
System.out.println();
System.out.println ("These are your sums and averages");
System.out.println (sum);
System.out.println (average);
int和=0;
双倍平均;
双下限=1;
双上限=100;
双倍数字=下限;
双余数=1;
//环路
而(数字)的主要问题是你的剩余部分。你应该直接计算它:
while(number <= upperbound){
if (number % 2 == 1){
sum += number;
System.out.println(number);
}
number++;
}
但是,由于余数
变量现在设置为0,您将永远不会再次输入if
大小写,因此永远不会更新您的余数
(因此循环不会提前结束,您只需跳过其中的所有内容)
还请注意,您不需要使用else
案例,因为您在if
和else中都在增加number
,主要问题是您的剩余部分。您应该直接计算:
while(number <= upperbound){
if (number % 2 == 1){
sum += number;
System.out.println(number);
}
number++;
}
但是,由于余数
变量现在设置为0,您将永远不会再次输入if
大小写,因此永远不会更新您的余数
(因此循环不会提前结束,您只需跳过其中的所有内容)
还请注意,您不需要使用else
案例,因为您在if
和else
中都增加了number
,因此您必须检查正在计算的每个值的余数
public static void main(String[] args) {
int sum = 0;
double average;
double lowerbound = 1;
double upperbound = 100;
double number = lowerbound;
//double remainder = 1;
//loop
while(number<= upperbound)
if (number%2==1){
sum += number;
//remainder = number%2;
System.out.println(number);
number++;
}else{
number++;
}
average = sum/upperbound;
System.out.println();
System.out.println ("These are your sums and averages");
System.out.println (sum);
System.out.println (average);
}
publicstaticvoidmain(字符串[]args){
整数和=0;
双倍平均;
双下限=1;
双上限=100;
双倍数字=下限;
//双余数=1;
//环路
而(number您必须检查计算的每个值的余数
public static void main(String[] args) {
int sum = 0;
double average;
double lowerbound = 1;
double upperbound = 100;
double number = lowerbound;
//double remainder = 1;
//loop
while(number<= upperbound)
if (number%2==1){
sum += number;
//remainder = number%2;
System.out.println(number);
number++;
}else{
number++;
}
average = sum/upperbound;
System.out.println();
System.out.println ("These are your sums and averages");
System.out.println (sum);
System.out.println (average);
}
publicstaticvoidmain(字符串[]args){
整数和=0;
双倍平均;
双下限=1;
双上限=100;
双倍数字=下限;
//双余数=1;
//环路
虽然(数字您应该查找当前数字的剩余部分。此处您正在检查前一个数字的剩余部分。一旦剩余部分变为0,循环将结束,因为没有进一步的更改。您应该查找当前数字的剩余部分。此处您正在检查前一个数字的剩余部分。一旦剩余部分变为0,循环将结束变成0,循环就结束了,因为没有进一步的改变。凯万,你先生太棒了,凯万,你先生太棒了