奇数/偶数程序不打印任何东西

时间:2015-08-07 04:07:03

标签: java loops logic

当我运行时没有任何打印,我正在尝试打印一条消息,说明奇怪或甚至取决于用户输入的内容。

import java.util.Scanner;
public class Questions {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Your number");
        int number = input.nextInt();
        for (int i = 0; i > 0; i = +2) {
            if (number == i) {
                System.out.println("even");
            } else {
                System.out.println("odd");
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

您的循环永远不会输入,因为您使用i初始化0并且您的第一个测试是i > 0(并且您不需要unary 2,{{ 1}})。我也会使用格式化的IO。把它放在一起,我想你想要像

这样的东西
= +2

如果你试图避免使用模数(并使用2加法),你可以用

之类的方法进行优化
int number = input.nextInt();
for (int i = 0; i < number; i++) {
    if ((i % 2) == 0) {
        System.out.printf("%d even%n", i);
    } else {
        System.out.printf("%d odd%n", i);
    }
}

答案 1 :(得分:0)

试试这个

import java.util.Scanner;
public class Questions {
public static void main (String[]args) {

Scanner input= new Scanner(System.in);
System.out.println("Your number");
int number = input.nextInt();
if(number % 2 == 0)
     System.out.println("even");
}else {
System.out.println("odd");
}
}

答案 2 :(得分:0)

可能你想尝试这种方式......

        if ((number % 2) ==0) {
            System.out.println("even");
        } else {
            System.out.println("odd");
        }

初始化i时,条件似乎是i>0所以它总是假的,所以对于循环永远不会执行

正如@MadProgrammer在评论中所述,你的循环从未执行过。

  

因为i = 0,所以从不执行循环;)