Java 计算多个整数之和
我已经编写了代码来显示数字3到1000的所有倍数(例如3,6,9,12,15…) 我已经成功地显示了这些数字,但我想让程序自动将这些数字相加到一个总和(例如3+6+9+12+15…) 我目前被困在这个问题上,非常感谢您的帮助!英语不是我的母语,很抱歉拼写错误等等 这是我目前的代码Java 计算多个整数之和,java,Java,我已经编写了代码来显示数字3到1000的所有倍数(例如3,6,9,12,15…) 我已经成功地显示了这些数字,但我想让程序自动将这些数字相加到一个总和(例如3+6+9+12+15…) 我目前被困在这个问题上,非常感谢您的帮助!英语不是我的母语,很抱歉拼写错误等等 这是我目前的代码 public static void main(String[] args) { int nr3 = 0; int end = 1000; while ( nr3 < end){
public static void main(String[] args) {
int nr3 = 0;
int end = 1000;
while ( nr3 < end){
nr3++;
nr3++;
nr3++;
System.out.println(nr3);
}
}
publicstaticvoidmain(字符串[]args){
int nr3=0;
int end=1000;
而(nr3<结束){
nr3++;
nr3++;
nr3++;
系统输出打印项次(nr3);
}
}
您可以创建一个新变量sum
,并将nr3
添加到其中。您可以执行nr3+=3,而不是重复调用increment代码>
public static void main(String[] args) {
int nr3 = 0;
int end = 1000;
int sum=0;
while ( nr3 < end){
nr3 +=3;
sum+=nr3;
System.out.println( nr3);
}
System.out.println( sum);
}
publicstaticvoidmain(字符串[]args){
int nr3=0;
int end=1000;
整数和=0;
而(nr3<结束){
nr3+=3;
总和+=nr3;
系统输出打印项次(nr3);
}
系统输出打印项数(总和);
}
只需生成一个整数(比如int sum=0
),然后在每个while循环的末尾添加
sum += nr3;
然后在循环后打印出总数,就完成了 使用以下代码:
int nr3 = 0;
int end = 1000;
int sum=0;
while ( nr3 < end)
{
nr3 += 3;
System.out.println( nr3);
sum += nr3;
}
System.out.println(sum);
int nr3=0;
int end=1000;
整数和=0;
而(nr3<结束)
{
nr3+=3;
系统输出打印项次(nr3);
总和+=nr3;
}
系统输出打印项数(总和);
您的问题还有另一种解决方案,这意味着一种完全不同的代码。其依据是:
- 将0到n范围内某个数字p的所有倍数相加等于将1到n/p(整数除法)范围内的所有倍数相加,然后乘以p李>
- 对于任意数x,1+2+…+x==x*(x+1)/2
因此,代码很简单:
public static int allMultiples(final int multipleOf, final int upTo)
{
final int limit = upTo / multipleOf;
// The dividend is guaranteed to be an even number:
// either limit or limit + 1 will be even
return multipleOf * limit * (limit + 1) / 2;
}
提示:可以使用nr+=3来避免代码中的重复。PS对你的英语有信心-它很好<代码>nr3++代码>三次等于nr3+=3代码>谢谢,修复了问题:)