Моя программа запрашивает у пользователя ввод кода элемента. Дублированные коды не допускаются, поэтому, когда он вводит код, цикл for
проверяет, существует ли он. Цикл for
должен быть break
для моего условия, потому что я получаю вывод «Код элемента существует», но он все еще не добавляет элемент в массив. Что мне не хватает?Моя петля не заканчивается, когда условие истинно
tems[] items = new Items[200];
AddItem add = new AddItem();
Scanner s = new Scanner(System.in);
int z,x;
double c,v;
String n,m,b;
public void addItem(){
int r;
z = add.getCode();
x = add.getQuantity();
c = add.getCostPrice();
n = add.getDescription();
m = add.getDiscount();
v = add.getSellingPrice();
b = add.getStatus();
for(r = 0; r < items.length; r++){
for(int q=0; q<r; q++){
if(z==items[q].getCode()){
System.out.println("Item's code exists");
break;
}
}
if(items[r]==null){
items[r] = new Items(z, n, x, c, v, b, m);
break;
}else if (items[r]!=null){
continue;
}
}
}
'break' только выходит из внутреннего большинства циклов -' for (int q' –
Вы должны разделить цикл for на логическую функцию –
и, пожалуйста, улучшите свои имена переменных .. И они должны быть локальными для функции , а не globals –