私のJavaプロジェクトでは、オブジェクト(アイテム)の配列を作成し、アイテムの配列を作成し、対応するアイテムを吐き出すアイテムコードを入力するようにメインメソッドを作成する必要がありました。 Javaプログラムに関するアドバイス
それは把握する私にしばらく時間がかかったが、私はクラス間のオブジェクトを参照/ 通過を避けるためにパブリック変数を使用することにより、「不正行為」終わりました。オブジェクトを適切に戻してください。
とというメソッドを含むクラスのほとんどです。
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);
}
}
}
感謝!!!!!!
+1のために+1を受け入れるには、 –
+1と答えているだけではなく、学びたいと思っています。 – SomeShinyObject
'printQueriedItem'メソッドをCatalogクラスに追加すると、null checkとprintが実行されます。 – assylias