gpt4 book ai didi

java - 不能从具有方法和变量的静态上下文中引用非静态方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:52 25 4
gpt4 key购买 nike

<分区>

在编写 BookStoreApplication 时,它使用 Book、Tape 和 CD 类来创建对象。虽然未完成,但应用程序类应该创建新的 BookStoreItems,即 Book、Tape 和 CD。它们继承自 BookStoreItems 类。在这个应用程序类中,我不断收到错误:

error: non-static method printMenu() cannot be referenced from a static context
error: non-static method getUserChoice() cannot be referenced from a static context
error: non-static variable input cannot be referenced from a static context

我已经将其更改为静态,然后又不是静态,但我仍然收到此错误...

import java.util.Scanner;

public class BookStoreApp2 {

//constants for options
static final int ADD_BOOK = 0;
static final int ADD_TAPE = 1;
static final int ADD_CD = 2;
static final int QUIT = -1;

Scanner input = new Scanner (System.in);

public static void main(String[] args) {


BookStoreItem[] item;//declaring array

item = new BookStoreItem[10];//initializing array

int itemType = -1;

printMenu();
getUserChoice();

for (int i = 0; i < item.length; i++){
System.out.print("\n" + i + "\tEnter 0 for Book, 1 for Tape, 2 for CD: ");
itemType = input.nextInt();

switch (itemType) {
case 0:
item[i] = new Book();
break;
case 1:
item[i] = new Tape();
break;
case 2:
item[i] = new CD();
break;
default:
System.out.println("\nInvalid choice.");
}//end of switch statement

}//end of for loop

for (int i = 0; i < item.length; i++) {
System.out.println("\nAnimal #" + i + ": ");

System.out.println("\n\tTitle: " + item[i].getTitle()); //polymorphic because they can operate on separate objects
System.out.println("\n\tAuthor: " + item[i].getAuthor());
}//end of for


}//end of main method


//PRINT MENU----------------------------------------------------------
public void printMenu(){
System.out.println("\nPress:");
System.out.println("\t" + ADD_BOOK + "\tTo add a book to the book store.\n");
System.out.println("\t" + ADD_TAPE + "\tTo add a tape to the book store.\n");
System.out.println("\t" + ADD_CD + "\tTo add a CD to the book store.\n");
System.out.println("\t" + QUIT + "\tTo exit\n");
}
//---------------------------------------------------------------------
//GET USER CHOICE------------------------------------------------------
public int getUserChoice() {
int choice;
System.out.print("Please enter your choice: ");
choice = input.nextInt();

return choice;
}//end of getUserChoice
//----------------------------------------------------------------------

}//end class

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com