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

时间:2014-05-01 09:48:26

标签: java variables methods

如何创建一个只接受正整数的java方法,如果用户输入负整数,那么它会重新提示从main方法输入或返回main方法输入...这就是我所能做的一切弄清楚:

  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;
    }
 }
}   

下一步做什么?

2 个答案:

答案 0 :(得分:1)

您只需将if转换为while

即可
while(quantity <=0){
       System.out.println("**Error5**- Quantity on hand is negative value");
       System.out.print("Enter quantity on hand: ");
       //and accept the new value here
    }

更新您需要执行以下操作。伪代码:

while(1){
Take the user input quantity
if quantity>0 continue;
else
print "please input a positive value"
}

更新2 如果你想缩短它,那就做:

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

答案 1 :(得分:-1)

简单地将while替换为if并不是一个好主意。你可以做的是用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语句将通过评估条件来完成工作。如果condition的计算结果为true,则执行if块中的代码,否则将执行else块。

<强>更新

这仅用于输入一次,并检查并重新提示用户。对于循环,您需要使用do .. whilewhile循环。