如何让图书价格最低在第一行输出?

如何让图书价格最低在第一行输出?

public class Book {

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

    private String bookName;

    private String authorName;

    private String publisher;

    private double price;

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

    public Book(){}

    public Book(String bookName,String authorName,String publisher,double price){

        this.bookName = bookName;

        this.authorName = authorName;

        this.publisher = publisher;

        this.price = price;

    }

    //方法

    public String getBookName(){ //书名

        return bookName;

    }

    public String getAuthorName(){ //作者

        return authorName;

    }

    public void  setPublisher(String publisher){ //出版社

        this.publisher = publisher;

    }

    public String getPublisher(){ //出版社

        return publisher;

    }

    public void  setPrice(double price){  //价格

        this.price = price;   

    }

    public double getPrice(){  //价格

        if (this.price<10.0){

            System.out.println("图书价格最低10元");

            this.price =10.0;

        }

        return this.price;

    }

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

    public void bookInform(){

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

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

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

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

    }


}

如果价格放在构造函数里面判断虽然能实现,但感觉不合理。如果放在getPrice()方法里面又要执行了该方法才会执行,并且打印该错误信息。

正在回答

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

1回答

同学你好,价格的判断放在setPrice()方法中,然后在带参构造方法中使用this.setPrice()方法给属性赋值,在赋值的时候即可判断价格,如果小于10,就会将“图书价格最低10元”输出在第一行。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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