[英]odd/even number program doesn't print anything
當我運行此命令時,什么都不會打印,我試圖打印一條消息,說的是奇數或偶數,具體取決於用戶的鍵入。
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");
}
}
}
}
永遠不會進入循環,因為您將i
初始化為0
並且第一個測試是i > 0
(並且您不希望一元 2 = +2
)。 我還將使用格式化的IO。 綜上所述,我認為您想要類似
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);
}
}
如果您嘗試避免取模(並使用2加法),則可以使用以下方法進行優化
int number = input.nextInt();
for (int i = 0; i < number; i += 2) {
System.out.printf("%d even%n", i);
System.out.printf("%d odd%n", i + 1);
}
嘗試這個
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");
}
}
也許您想嘗試這種方式...
if ((number % 2) ==0) {
System.out.println("even");
} else {
System.out.println("odd");
}
當您初始化i
,條件似乎是i>0
因此它始終為false,因此for循環永遠不會執行
正如@MadProgrammer在評論中所述,您的循環從未執行。
因為i = 0,所以永遠不會執行循環;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.