В моем проекте java мне необходимо создать массив объектов (элементов), заполнить массив элементов и затем создать основной метод, который просит пользователя ввести код элемента, который возвращает обратно соответствующий элемент.
Мне потребовалось некоторое время, чтобы понять, но я закончил "обманывать", используя общедоступную переменную , чтобы избежать передачи/ссылки объекта между классами.
Пожалуйста, помогите мне правильно передать объект назад.
Это класс с большинством моих методов, включая insert и метод find.
public class Catalog {
private Item[] itemlist;
private int size;
private int nextInsert;
public Item queriedItem;
public Catalog (int max) {
itemlist = new Item[max];
size = 0;
}
public void insert (Item item) {
itemlist[nextInsert] = item;
++nextInsert;
++size;
}
public Item find (int key) {
queriedItem = null;
for (int posn = 0; posn < size; ++posn) {
if (itemlist[posn].getKey() == key) queriedItem = itemlist[posn];
}{
return queriedItem;
}
}
}
Это мой основной класс:
import java.util.*;
public class Program {
public static void main (String[] args) {
Scanner kbd = new Scanner (System.in);
Catalog store;
int key = 1;
store = new Catalog (8);
store.insert(new Item(10, "food", 2.00));
store.insert(new Item(20, "drink", 1.00));
while (key != 0) {
System.out.printf("Item number (0 to quit) ?%n");
key = kbd.nextInt();
if (key == 0) {
System.out.printf("Exiting program now!");
System.exit(0);
}
store.find(key);
if (store.queriedItem != null) {
store.queriedItem.print();
}
else System.out.printf("No Item found for %d%n", key);
}
}
}
Спасибо, я ценю помощь!!!!!!