0
我遇到了以下部分代碼問題。 當輸入「nn」時,我得到無效的代碼。 當輸入有效的代碼時,我得到無效的代碼,但是這隻發生一次。程序似乎不按預期工作。請協助。根據ArrayList驗證用戶輸入
System.out.println("ENTER CODE (nn to Stop) : ");
ArrayList<Product> list = new ArrayList<Product>();
.
.
.
.
ArrayList<Code> codeList = new ArrayList<Code>();
for (Product product : list) {
System.out.print("CODE : ");
String pcode = scan.next();
if (pcode.equalsIgnoreCase("nn")) {
break;
}
if (!(code.equalsIgnoreCase(product.getCode()))) {
System.out.println("Invalid code, please enter valid code.");
System.out.print("CODE : ");
pcode = scan.next();
}
System.out.print("QUANTITY : ");
int quan = scan.nextInt();
while (quan > 20) {
System.out.println("Purchase of more than 20 items are not allowed, please enter lower amount.");
System.out.print("QUANTITY : ");
quan = scan.nextInt();
}
codeList.add(new Code(pcode, quan));
}
我確實嘗試'繼續',但是當輸入「nn」時,我需要完全從循環中斷開。我從if塊中刪除了'code = scan.next(),但是結果相同。 – xiphias 2012-02-12 23:30:07
我是一個noob,我正在努力...... – xiphias 2012-02-12 23:37:27
因此,當您循環使用產品時,您目前使用的產品是唯一可以接受的產品;您將輸入的代碼與當前產品的代碼進行比較,否則將其視爲無效。那是你要的嗎? – 2012-02-13 01:04:38