我很困惑我想从用户使用递归得到一个积极的int,用户可以输入单词,也可以输入数字。(单词和负数无效),不确定我做错了什么。 对不起忘了问这个问题,好吧我得到编译器错误,当我尝试编译它时,我的扫描仪出了问题,我正在阅读它说我必须使用参数为用户输入,我我不确定如何,第二个问题是,如果用户输入n <0或一个单词(如税),我该如何让代码重复。谢谢
import java.util.*;
public class Recursion {
private static int getPositiveInt(Scanner keyboard) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter a positive interger, n");
int n = keyboard.nextInt();
if (n > 0) {
return n;
}
else { //here the code should rerun if invalid input, but I cant figure it out
System.out.println("enter a positive number");
}
}
}
答案 0 :(得分:1)
如果我正确理解了您的问题,您希望此功能运行,直到它将读取有效数字。 要做到这一点,您需要改变的是:
else { //here the code should rerun if invalid input, but I cant figure it out
System.out.println("enter a positive number");
}
为:
else {
//call the function again
return getPositiveInt(Scanner keyboard)
}