У меня возникли проблемы со следующей частью моего кода. Когда вводится «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
Я noob, я стараюсь изо всех сил ... – xiphias
Итак, когда вы перебираете продукты, текущий продукт, на котором вы находитесь, является единственным, который будет принят; вы сравниваете введенный код с кодом текущего продукта и считаете его недействительным в противном случае. Это то, что вы хотите? –