代码该怎么修改,为什么会报语法错误

代码该怎么修改,为什么会报语法错误

public class BookTest {


     // 测试方法

public static void main(String[] args) {

public void info(){

     System.out.println("书名"+this.getName());

      System.out.println("作者"+this.getAuthor());

       System.out.println("出版社"+this.getPublics());

        System.out.println("价格"+this.getMoney);

}

      //实例化对象,调用相关方法实现运行效果

      Book one =new Book("红楼梦","曹雪芹","人民出版社",10.0f);

      Book two =new Book("小李飞刀","古龙","中国长安出版社",55.5f);

      one.info();

      two.info();

     }

public class Book {

  //私有属性:书名、作者、出版社、价格

     private  String bookName,author,publics;

     private  float money;

  //通过构造方法实现属性赋值

public Book(String bookName,String author,String publics,float money ){

      this.bookName=bookName;

      this.author=author;

      this.setPublics(publics);

      this.setMoney(money);

  }

    /*通过公有的get/set方法实现属性的访问,其中:

    1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10

    2、限定作者、书名均为只读属性

    */

    public String getName(){

        return bookName;

    }

      public String getAuthor(){

        return author;

    }

    public void setPublics(String publics){

        this.publics=publics;

    }

    public String getPublics(){

        return this.publics;

    }

    public void setMoney(float money){

        if(money>10)

        this.money=money;

        else{

            System.out.println("输入的值过小,必须大于10");

            this.money=10;

        }

    }

    public String getMoney(){

        return this.money;

    }

  //信息介绍方法,描述图书所有信息



}

BookTest.java:8: error: illegal start of expression
public void info(){
^
BookTest.java:8: error: illegal start of expression
public void info(){
^
BookTest.java:8: error: ';' expected
public void info(){
^
3 errors


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小小 2021-08-02 18:29:52

同学你好,代码中存在如下问题:

1、money的数据类型为float,故getMoney方法的返回值应为float,而不是String

http://img1.sycdn.imooc.com//climg/6107c786091f619903360097.jpg

2、按照作业要求信息介绍的方法应定义在Book类中而不是BookTest类中,另外在Book类中调用方法时应是this.方法名(),建议将this.getMoney修改为this.getMoney(),Book类中的info()方法如下:

http://img1.sycdn.imooc.com//climg/6107c81a09cce89c05650182.jpg

3、经过上述修改,BookTest类代码如下:

http://img1.sycdn.imooc.com//climg/6107c874095c60d306890243.jpg

另外建议在Book类中添加无参的构造方法,便于通过无参构造方法创建Book类的对象。

http://img1.sycdn.imooc.com//climg/6107c897092fe96f01980051.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码