while loop,偶数,然后重试

hpxqektj  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(429)

我可以简单地循环,但它是我很难做偶数和奇数只。我想要这样的例子:
输入您的号码:20
2 4 6 8 10 12 14 16 18 20
你想再来一次吗?是/否?
我的代码:

public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    String c = null;
    do {
        int i;
        System.out.println("Enter a Number:");
        int n = input.nextInt();

        for(i=1; i<n; i++) {
            System.out.println(i);
            if(n%2==0) {
                System.out.println(i + " " );

            }
            System.out.println("Try Again? Y/N");
            c = input.next();   

        }
    }while(c.equalsIgnoreCase("y"));
}
g52tjvyc

g52tjvyc1#

你需要检查一下 i % 2 == 0 而不是 n % 2 == 0 .
演示:

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String c = null;
        do {
            System.out.print("Enter a Number: ");
            int n = input.nextInt();

            for (int i = 1; i <= n; i++) {
                if (i % 2 == 0) {
                    System.out.print(i + " ");
                }
            }

            System.out.print("\nTry Again? Y/N: ");
            c = input.next();
        } while (c.equalsIgnoreCase("y"));
    }
}

示例运行:

Enter a Number: 20
2 4 6 8 10 12 14 16 18 20 
Try Again? Y/N: y
Enter a Number: 25
2 4 6 8 10 12 14 16 18 20 22 24 
Try Again? Y/N: n
lnlaulya

lnlaulya2#

你的密码是 if (n%2 == 0) 但是循环会重复 i . 这个 n 在每个循环中都不会改变。
这可能不是代码中唯一的问题,但您肯定应该看看 i 在循环中执行而不是 n 在那条线上。

相关问题