Dự án java của tôi yêu cầu tôi tạo một mảng các đối tượng (các mục), điền vào các mảng của các mục và sau đó tạo một phương thức chính yêu cầu người dùng nhập mã mục mà quay trở lại mục tương ứng.Lời khuyên về chương trình Java
Tôi đã mất một thời gian để tìm ra, nhưng tôi đã kết thúc "gian lận" bằng cách sử dụng một biến công để tránh qua/tham khảo đối tượng giữa các lớp.
Vui lòng giúp tôi truyền lại đối tượng đúng cách.
Đây là lớp có hầu hết các phương pháp của tôi, bao gồm chèn và tìm phương thức.
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;
}
}
}
này được lớp học chính của tôi:
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);
}
}
}
Cảm ơn Tôi đánh giá cao sự giúp đỡ !!!!!!
+1 để thừa nhận là dành cho một lớp học –
+1 cho muốn tìm hiểu và không chỉ nhận được câu trả lời. – SomeShinyObject
bạn có thể thêm phương thức 'printQueriedItem' vào lớp Catalog của bạn, điều đó sẽ thực hiện kiểm tra và in null. – assylias