Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Recursion 使用递归获取正整数_Recursion - Fatal编程技术网

Recursion 使用递归获取正整数

Recursion 使用递归获取正整数,recursion,Recursion,我很困惑,我假设用户使用递归得到一个正整数,用户可以输入单词,也可以输入数字(单词和负数无效),不确定我做错了什么。 很抱歉,我忘了问这个问题,我遇到了编译器错误,当我试图编译它时,我的扫描仪出了问题,我在读一篇文章,它说我必须使用一个参数作为用户输入,我不知道如何,第二个问题是,如果用户输入正确,我如何让代码重复,您希望此函数一直运行到读取有效数字为止。 为此,您只需更改以下内容: else { //here the code should rerun if invalid input, b

我很困惑,我假设用户使用递归得到一个正整数,用户可以输入单词,也可以输入数字(单词和负数无效),不确定我做错了什么。
很抱歉,我忘了问这个问题,我遇到了编译器错误,当我试图编译它时,我的扫描仪出了问题,我在读一篇文章,它说我必须使用一个参数作为用户输入,我不知道如何,第二个问题是,如果用户输入正确,我如何让代码重复,您希望此函数一直运行到读取有效数字为止。 为此,您只需更改以下内容:

else { //here the code  should rerun if invalid input, but I cant figure it     out
System.out.println("enter a positive number");
}
致:


谢谢,所以这个运行这个程序,当用户输入除正整数以外的任何东西时?这是一个问题吗?你能再解释一下这个问题吗?好的,这个程序的全部目的就是让用户使用递归得到一个正整数。用户可以输入-10、0或单词“car”。如果用户输入的是整数,则问题在于您读取的输入是整数,而不必确保它是整数。nextInt()调用引发异常,当它担心拆分的消息时,我不小心单击了enter按钮,它在不允许我取消的情况下发送了注释。所以回到解决方案——nextInt()调用在读取非整数字符串时引发异常。你可以选择解决这个问题。最简单的方法是使用try-catch,你可以用谷歌搜索它。否则,您可以将.nextInt()调用替换为.next(),但是您必须自己检查它是否为整数(请检查此项)。希望能有所帮助
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)
}