私の 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);
}
}
}
ありがとうございます!