我想输入3个不同的变量到一个while循环内的数组中,只要我不输入任何变量的停止。 while循环只能让我输入第二个变量值,如果第一个变量没有停止,并且同样输入第三个变量值for循环输入数组变量不工作?
现在,第一个循环很好,我可以输入所有3个变量,但第二次和第三次,for循环输出第一个变量,但不允许我在跳到第二个变量之前输入一个值。我的意思 例如:
名称:afasdf
额外的信息:afdsaf
单位成本:123123214
名称:额外的信息:adflskjflk 也进入停止不结束回路
单位成本: 123217
我知道这个循环的工作时,只有一个变量,我已经使用for循环而不是while循环,并添加吨,吨else语句的尝试,但它似乎留相同
有没有什么问题,我建立我的破坏者的方式? 是我设置最后一个断路器(即使当我停止双变量时也会停止的那个断路器)的方法,它会混淆hte循环的其余部分?
太感谢你了
这里是我的代码
ArrayItem s = new ArrayItem();
String Name = null, ID = null;
double Money = 0;
boolean breaker = false;
while(breaker ==false)
{
System.out.print("Name:" + "\t");
Name = Input.nextLine();
if(Name.equals("Stop")) //see if the program should stop
breaker = true;
System.out.print("Extra Info:" + "\t");
Details = Input.nextLine();
if(ID.equals("Stop"))
breaker = true;
System.out.print("Unit Cost:" + "\t");
Money = Input.nextDouble();
// suppose to let me stop even if i input stop
// when the variable is suppose to be a double
if(Input.equals("stop") || Input.equals("stop"))
breaker = true;
else
s.SetNames(Name);
s.SetInfo(Details);
s.SetCost(Money);
}
使用括号('{}')围绕你如果和别人的身体。例如,底部的else语句只执行's.SetNames(Name)',它总是执行's.SetInfo(Details)'和's.SetCost(Money)'。最后,查看'break'关键字,它将立即以其最基本的形式退出其包含的循环。 'if(Input ...){breaker = true; } else {s.SetNames(Name); s.SetInfo(详细); s.SetCost(钱); }(在你的代码中使用空行来分隔)。 – pickypg 2012-07-10 03:57:44
我添加了括号,但是我仍然遇到同样的问题 – user1476390 2012-07-10 04:00:24
'if(Input.equals(“stop”)|| Input.equals(“stop”))'你看不到我有机会。 – 2012-07-10 04:04:59