0
我試圖爲理論視頻商店製作面向對象的股票系統。爲什麼說方法不是靜態時它是靜態的?
我經常收到以下錯誤信息:
non-static variables xyz cannot be accessed from a static context.
所有我已經在靜態環境中發現的信息一直是當一個方法是靜態的,另一種是沒有,但是,沒有一個我的方法是靜態的。
在這段代碼中,我得到了兩次錯誤消息,我不明白爲什麼。
if (enterOption == 1) {
Movie movieNew = new Movie (titleInput, yearInput, directorInput, ratingInput, genreInput);
VideoShop.movies.add(movieNew);
} else {
UI.runUI();
}
我把它從VideoShop.movies.add(movieNew);
和UI.runUI();
方法調用。
全部方法:
public void createMovie()
{
Scanner sc = new Scanner (System.in);
System.out.println ("Title: ");
String titleInput = sc.next();
System.out.println ("Year: ");
int yearInput = sc.nextInt();
System.out.println ("Director: ");
String directorInput = sc.next();
System.out.println ("Rating [G/PG/M/MA15/R18]: ");
String ratingInput = sc.next();
System.out.println ("Genre [a - Action/ b - Drama/ c - Comedy/ d - Musical/ e - Family/ f - Documentary]: ");
String genreInput = sc.next();
System.out.println ("Format [VCD/DVD]: ");
String formatInput = sc.next();
System.out.println ("Cost: ");
double costInput = sc.nextDouble();
System.out.println ("Quantity: ");
int quantityInput = sc.nextInt();
System.out.println("Confirm?");
System.out.println("1. Yes 2. No, return to main menu");
System.out.println("Enter option: ");
int enterOption = sc.nextInt();
if (enterOption == 1) {
Movie movieNew = new Movie (titleInput, yearInput, directorInput, ratingInput, genreInput);
VideoShop.movies.add(movieNew);
} else {
UI.runUI();
}
}
是否有人可以解釋爲什麼我可能有這個問題? – stca11
你在main()中使用了這個嗎? Java的主要是靜態的... –
發佈你的完整方法。 –