Я пытаюсь добавить некоторые объекты (servei) в этот код, а новый всегда перезаписывает последний, и я не могу найти ошибку: /, у меня есть две точки p и i, Я использую i для массива только при удалении объектов llista [p], потому что я не хочу нулевые значения внутри моего массива, я добавил код, когда я использую e, и servicei, потому что некоторые люди говорят, что может быть и ошибка ,Значение массива переписывается каждый раз, когда java
System.out.println (llista.afegirServei (serv)); // это то, что я использую, чтобы добавить новый Servei
public class Llistaservei {
private int i;
private Servei[] llista;
private int p = 0;
private float opinio;
public Llistaservei(int Max_Serv) {
llista = new Servei[Max_Serv];
}
public String AfegirServei(Servei servei) {
if (ValidServei(servei.getNom()) == i) {
return ("El servei ja existeix"); //if exist return that "servei" exist.
} else { ***//finally works cleaning eclipse cache...***
llista[p]=servei;
p++;
return ("El servei s'ha creat correctament");// I add a new "Servei to the array" if doesn't exist
}
}
public String EliminarServei(String nom){
if(ValidServei(nom)==-1){
llista[i]=llista[p]; //here i use 2 pointers p,i cause i don't want null
llista[p]=null; //in the middle of the array
p--;
return ("El servei s'ha eliminat correctament"); //if is valid
} //return "servei" deleted
public int ValidServei(String nom) {
for (i = 0; ((i < p) && (i < llista.length)); i++) {
if (nom.equalsIgnoreCase(llista[i].getNom())) {
return i;
}
}
}
}
Проклятие иностранного языка: я не могу прочитать ваш код и, следовательно, не догадываться, что вы хотите сделать. Вы должны сказать нам. – Dawnkeeper
Вы можете сначала исправить свой код. Использование переменной i, похоже, испортилось. – 6ton
является 'p' incrementing? Обычно мне нравится присваивать значения в конструкторе. – Fallenreaper