我想在输入奇数(例如3)时获得输出,它将给出输出“3”,如果我输入偶数,它将打印“错误输入”。 我知道我可以使用 if else 但我想使用 while 循环 来获取它。 我是编程初学者,所以如果有人可以帮助我,我将不胜感激
这是我现在的代码。当我运行它时出现错误。
import java.util.Scanner;
public class UserInput {
public static void main(String[] args) {
int num;
num = readOddNum();
System.out.println("The odd integer is" + num);
}
public static int readOddNum() {
int num = 0;
Scanner sc = new Scanner(System.in);
System.out.print("Enter an odd number: ");
int num1 = sc.nextInt();
sc.close();
while ((num < 0) &&(num % 2 == 0)) {
System.out.println("Wrong input!");
}
return readOddNum();
}
}
请您参考如下方法:
您应该将代码更改为
public static int readOddNum() {
Scanner sc = new Scanner(System.in);
System.out.print("Enter an odd number: ");
int num1 = sc.nextInt();
while ((num1 < 0) || (num1 % 2 == 0)) {
System.out.println("Wrong input! - try again");
num1 = sc.nextInt();
}
sc.close();
return num1;
}