私のコードの以下の部分に問題があります。 「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」が入力されたときにループから完全に切り離す必要があります。私は 'code = scan.next()を取り除いたが、同じ結果がブロックされている場合は中から除去した。 – xiphias
私はノブです、私はベストを尽くしています... – xiphias
製品をループしているとき、あなたが現在いる製品は受け入れられる唯一の製品です。入力したコードと現在の製品のコードを比較し、それ以外の場合は無効として扱います。それはあなたが欲しいものですか? –