Java 计算多个整数之和

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){

我已经编写了代码来显示数字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){
         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谢谢,修复了问题:)