我正在尝试创建允许用户输入书的Java程序
编号和程序将显示所选书的价格。我有
创建了book类,其中没有语法错误,但是大多数
可能有逻辑错误,TestBook类有错误
在调用输入中。你能帮助我吗?即时通讯失传:(这是我的代码:

class Book{

    String title;
    String author;
    double price;
    int option;

    //constructor
    Book(String title, String author, double newPrice){
        title = title;
        author = author;
        price = newPrice;

    }

    public String getTitle(){
        return title;
    }
    public String getAuthor(){
        return author;
    }
    public double getPrice(){
        return price;
    }
    public int getOption(){
        return option;
    }

    public void setPrice(int option, double price, double newPrice){
        if (option == 1){
            price = 20.00;
            newPrice = price;
        }
        else if (option == 2){
            price = 15.00;
            newPrice = price;
        }
        else if (option == 3){
            price = 23.90;
            newPrice = price;
        }
        else if (option == 4){
            price = 27.30;
            newPrice = price;
        }
        else if (option == 5){
            price = 50.00;
            newPrice = price;
        }
        else if (option == 6){
            price = 13.50;
            newPrice = price;
        }
    }
    public void setOption(int newOption){
        option = newOption;
    }
}


TestBook类

import java.util.Scanner;

public class TestBook{
    public static void main (String[]args){

        Scanner input = new Scanner (System.in);

        //The Book List
        System.out.println("The Book List");
        System.out.println("1)How to do programming 12th Edition by Liang.\n2)Malaysian Food Recipe by Nadia Bt Mahmud.\n3)What is Islam by Ustad Manzoor Malik.\n4)Urban Legend by Christine R.M.\n5)Fundamental of Calculus by Prof. Abu.\n6)How to raise your kids by Salsabila\n");
        System.out.println("Choose your book number to know the price: ");
        int option = input.nextInt();

        Book b1 = new Book(theOption(option);// invoke the option to get the price
        System.out.println("The price is: "+ b1.getPrice);


    }
    //Method option
    public static int theOption(int option){
        return option;
    }
}

最佳答案

您在方法调用中忘记了()

更换

System.out.println("The price is: "+ b1.getPrice);




System.out.println("The price is: "+ b1.getPrice());


除了该错误,您正在调用一个不存在的构造函数:

Book b3 = new Book (8));


您的Book构造函数接受3个参数。而且您在该呼叫中还有一个)

10-05 19:25