Java 从while循环中获取一个和

Java 从while循环中获取一个和,java,loops,Java,Loops,我试图得到介于2和用户输入值之间的偶数之和。我尽量把偶数打印出来,但我怎样才能让它只打印偶数的总和呢?而不是列出所有的偶数 最后应该是这样的: 输入值:20 2到20之间的偶数之和:110 import java.util.Scanner; public class Practice_7_1 { public static void main (String[] args) { Scanner input = new Scanner(System.in); while (true) {

我试图得到介于2和用户输入值之间的偶数之和。我尽量把偶数打印出来,但我怎样才能让它只打印偶数的总和呢?而不是列出所有的偶数

最后应该是这样的:

输入值:20

2到20之间的偶数之和:110

import java.util.Scanner;
public class Practice_7_1
{
public static void main (String[] args)
{
 Scanner input = new Scanner(System.in);

 while (true)
 {
 //Gather data value
 System.out.println("Please enter a number: ");
 int value = input.nextInt();
 String text = "Sum of even numbers between 2 and " + value + " is: "; 
 //Loop
 int i = 2;
 while (i <= value)
  {
  if (i%2 == 0){
     text = (text + i);
     if (i< value)
        text = (text + ", ");
     else
        text = (text + ". ");
   }      
  i++;
 }
 //Output
 System.out.println(text);
 }
}
}
import java.util.Scanner;
公共课堂练习7 1
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
while(true)
{
//收集数据值
System.out.println(“请输入一个数字:”);
int value=input.nextInt();
String text=“介于2和“+value+”之间的偶数之和为:”;
//环路
int i=2;

while(i使用for循环。使用for循环,您可以自定义内部循环变量(
i
)的“步骤”。这也消除了检查均匀性的需要

int sum = 0;
for (int i = 2; i < value; i+=2) {
  sum += i;
}
System.out.println(sum);
int和=0;
对于(int i=2;i

另一方面,您可能应该避免使用
while(true)
因为退出程序需要使用显式的
中断
。您应该使用某种布尔控制变量。

为什么不使用for循环?您可以使用正确的起点跳过无用的第一次迭代。我有while(true)因为赋值希望它无限期地运行。上面的代码只会找到偶数的和吗?@khmer11是的。因为
i
初始化为2,而for循环的步骤是2,
i
只会增加到偶数。
int sum = 0;
for (int i = 2; i < value; i+=2) {
  sum += i;
}
System.out.println(sum);