Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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
Java 如何在方法中为错误的用户输入循环方法_Java_Variables_Methods - Fatal编程技术网

Java 如何在方法中为错误的用户输入循环方法

Java 如何在方法中为错误的用户输入循环方法,java,variables,methods,Java,Variables,Methods,我如何制作一个只接受正整数的java方法,如果用户输入负整数,它会重新提示从主方法输入或返回主方法输入。。。这就是我所能想到的: public class error5 { public void error5(int quantity){ if (quantity <=0){ System.out.println("**Error5**- Quantity on hand is negative value"); System.out.print("

我如何制作一个只接受正整数的java方法,如果用户输入负整数,它会重新提示从主方法输入或返回主方法输入。。。这就是我所能想到的:

  public class error5
{
public void error5(int quantity){
   if (quantity <=0){
       System.out.println("**Error5**- Quantity on hand is negative value");
       System.out.print("Enter quantity on hand: ");
       break;
    }
   else {
       System.out.print("");
       break;
    }
 }
}   

接下来要做什么?

您只需将if转换为while即可

更新2 如果您想让它变短,请执行以下操作:

int quantity=-2
while(quantity<0){
take user input
if(quantity<0)  print"enter greater value"}

通过简单的替换来判断是否是个好主意。你们能做的是用if语句检查负值,在其他部分你们能做你们应该用正值做的事情

if(quantity <= 0){
System.out.println("**Error5**- Quantity on hand is negative value");
System.out.print("Enter quantity on hand: ");
}else{
System.out.print("");
//Do Something with Positive value
}
不需要使用break语句,因为if..else语句将通过计算条件来完成工作。若条件的计算结果为true,则它将执行If块中的代码,否则将执行else块

更新:


这将仅用于获取一次输入,以及检查和重新提示用户。对于循环,你需要使用do..while或while循环。

使用“do-while”循环。你可以作为初学者为我编写代码吗?这不是一个要求其他人为你编写代码的网站。谷歌搜索,不要要求代码。只询问想法和方向,实现您自己的代码。我得到了使用do while循环的方法,之后我如何让用户重新输入正整数您的答案很好,+1如果它能补偿匿名投票人的活动是的,我现在有了这个方法,如何让用户通过简单的替换来重新输入正整数,而对if来说不是个好主意。请核对我的答案。。下面是。是的,但我如何重新要求用户输入正值?请检查我的答案,以了解…它现在已发布,如果用户输入负值两次?或者更多次?因此,最好将其放在一个循环中,参见我的update@DakshShah好的,我看到问题所在的部分是关于循环的。。。!!!!你的回答证明了这个问题的正确性。我知道代码,但你能告诉我下一步该怎么做吗?如何重新输入?但是根据java脚本,我不能在methodHi@JavaRocks中使用提示进行用户输入。我编辑了你的文章,以改进案例问题,并添加一些内联格式。我们不太喜欢这里所有的caps部分,所以如果你能仔细考虑你的答案,这将节省编辑今后的工作。谢谢
int quantity=-2
while(quantity<0){
take user input
if(quantity<0)  print"enter greater value"}
if(quantity <= 0){
System.out.println("**Error5**- Quantity on hand is negative value");
System.out.print("Enter quantity on hand: ");
}else{
System.out.print("");
//Do Something with Positive value
}