首页 > 解决方案 > 如何获得一个自然数序列,每个数字换行?

问题描述

给定一个自然数序列。对于序列中的每个数字,even如果数字是偶数,则输出odd。如果数字等于0,程序必须停止读取和处理数字。

class Main {

    public static void main(String... args) {
        // put your code here
        Scanner scanner = new Scanner(System.in);
        //int max = 0;
        int number = 0;

        while (scanner.hasNext()) {
            number = scanner.nextInt();
            if (number % 2 != 0) {
                System.out.println("Odd");
                continue;
            } else if (number % 2 == 0) {
                System.out.println("even");
                break;
            }
        }
    }
}

我有以下问题:

在此处输入图像描述

第 1 题(共 9 题)未通过。答案错误

这是问题陈述中的示例测试!

测试输入:

1
2
3
4
0

正确的输出:

odd
even
odd
even

您的代码输出:

Odd
even

标签: java

解决方案


当数字是偶数时,您不应该打破条件。应该有另一个条件来检查是否number = 0

public static void main(String[] args) {
        // put your code here
        Scanner scanner = new Scanner(System.in);
        int number = 0;

        while (scanner.hasNext()) {
            number = scanner.nextInt();
            if(number == 0) {
                 break;
            }
            else if (number % 2 == 0) {
                System.out.println("even");
            } else {
                System.out.println("odd");
            }
       }
  }

推荐阅读