当我运行时没有任何打印,我正在尝试打印一条消息,说明奇怪或甚至取决于用户输入的内容。
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");
}
}
}
}
答案 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,所以从不执行循环;)