5 月
Questions & Answers
52
boolean flag = true;
while(flag == true){
System.out.println("Type in the item u wish to purchase: chocolate'c',apple'a',meat'm',eggs'e',pencils'p' Bill:'b'");
sign = in.next();
ch = sign.charAt(0);
System.out.println("Enter the quantity");
amount = in.nextInt();
if(ch == 'c'){
Item_sel.add("Chocolate");
quantity.add(amount);
Stock[0]=Stock[0]-amount;
}else if(ch == 'a'){
Item_sel.add("apples");
quantity.add(amount);
Stock[1]=Stock[1]-amount;
}else if(ch == 'm'){
Item_sel.add("meat");
quantity.add(amount);
Stock[2]=Stock[2]-amount;
}else if(ch == 'e'){
Item_sel.add("eggs");
quantity.add(amount);
Stock[3]=Stock[3]-amount;
}else if(ch == 'p'){
Item_sel.add("pencils");
quantity.add(amount);
Stock[4]=Stock[4]-amount;
}
if(ch == 'b'){
String[] myArray = new String[Item_sel.size()];
Item_sel.toArray(myArray);
int[] myArray2 = new int[quantity.size()];
quantity.toArray(myArray);
change(myArray,myArray2);
flag = false;
}
}
# 1 楼答案
它应该退出,假设您显示的代码是准确的,并且您实际上在某个点输入了
b
。也许您的实际问题是,即使您为账单输入b
,它也需要数量。在我看来,你可能会认为这是一个没有结束的循环如果输入
b
后跟一个数量,但仍然没有退出,那么我显然错了如果它确实在数量之后退出,那么只需重新构造代码,以便在输入
b
时不要求数量这可能只是一个简单的替换问题:
与:
例如,以下程序(稍作修改以使其完整):
看起来
b
没有退出,至少最初是这样。但是,当您输入金额时,它会:按建议进行修复:
删除类型
b
的不需要的金额输入:顺便说一句,请不要做以下事情:
如果您的变量命名得很好,那么只使用布尔值就更具可读性,例如: