我想在输入奇数(例如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; 
 
 
} 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!