Java 尝试将2和输入之间所有偶数的总和相加,然后我就得到了输入

Java 尝试将2和输入之间所有偶数的总和相加,然后我就得到了输入,java,loops,Java,Loops,我试图为赋值写一些东西,它取2和用户输入的数字之间的所有偶数整数之和,然后打印出来。如果低于2,则应返回一个错误。我得到了一个2以下的错误,但是,当我让它返回总和时,它只返回输入 我想我可能在这个循环中弄乱了一个变量,但我看不出哪里出了错 import java.util.Scanner; public class EvenSum { public static void main(String[] args) { Scanner input = new Scanne

我试图为赋值写一些东西,它取2和用户输入的数字之间的所有偶数整数之和,然后打印出来。如果低于2,则应返回一个错误。我得到了一个2以下的错误,但是,当我让它返回总和时,它只返回输入

我想我可能在这个循环中弄乱了一个变量,但我看不出哪里出了错

import java.util.Scanner;

public class EvenSum {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a number larger than 2");
        int num = input.nextInt();
        if (num >= 2) {
            int sum = 0;
            for (int i = 2; i <= num; i +=2) {
                sum += i;
            }
            System.out.println("The sum of all even numbers between 2 and the input is " + num);
                } else {
            System.out.println("Invalid, please enter a number above 2");
        }
    }
}
import java.util.Scanner;
公务舱{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入一个大于2的数字”);
int num=input.nextInt();
如果(数值>=2){
整数和=0;

对于(int i=2;i这是因为您返回的是
num
,而不是
sum

System.out.println("The sum of all even numbers between 2 and the input is " + num);
应该是

System.out.println("The sum of all even numbers between 2 and the input is " + sum);

顺便说一句,有一个不带循环计算答案的公式。但这可能不是练习的重点?

在if语句之外声明
sum
,并打印
sum
,而不是
num

package com.test;

import java.util.Scanner;

public class EvenSum {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a number larger than 2");
        int num = input.nextInt();

        int sum = 0;
        if (num >= 2) {

            for (int i = 2; i <= num; i += 2) {
                sum += i;
            }
            System.out
                    .println("The sum of all even numbers between 2 and the input is "
                            + sum);
        } else {
            System.out.println("Invalid, please enter a number above 2");
        }
    }
}
package.com.test;
导入java.util.Scanner;
公务舱{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入一个大于2的数字”);
int num=input.nextInt();
整数和=0;
如果(数值>=2){

对于(inti=2;是的,我们的任务是练习写循环,所以我想我的教授希望它写成循环。