老师帮忙检查一下代码

来源:1-7 编程练习

gph小分队大队长

2019-12-04 11:17:55

package aaa;


public class BookInformation {


private String bookName;

private String writerName;

private String chubanName;

private double sale;

public BookInformation(String bookName, String writerName, String chubanName, double sale) {

this.bookName = bookName;

this.writerName = writerName;

this.chubanName = chubanName;

this.sale = sale;

}


public void setBookName(String bookName) {

this.bookName = bookName;

}

public void setWriterName(String writerName) {

this.writerName = writerName;

}


public void setChubanName(String chubanName) {

this.chubanName = chubanName;

}


public String getChubanName() {

return chubanName;

}


public void setSale(double sale) {

if(this.sale>10)

   this.sale = sale;

else

this.sale = 10;

}

public double getSale() {

if(this.sale>10)

   return sale;

else 

return 10;

}

   

public void Information(){

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

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

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

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

}

public static void main(String[] args) {

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

BookInformation BI=new BookInformation("红楼梦","曹雪芹","人民文学出版社",9);

BI.Information();

System.out.println("=====================");

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

BI1.Information();

}


}


写回答

1回答

好帮手慕小尤

2019-12-04

同学你好,1. 变量命名的命名问题,如果由一个单词组成,则该单词小写。如果由多个单词组成,第一个单词小写,从第二个单词开始每个单词的首字母大写。例如:BI 应该改为:bi

2.  建议为BookInformation类创建无参构造方法,因如果定义带参构造但未定义无参构造,则带参构造会覆盖掉默认的无参构造,当使用无参构造方法创建对象时,会找不到无参构造方法报错。

3. 书名和作者是只读属性,这两个属性设置get方法即可,不需要设置set方法。代码如下:

http://img.mukewang.com/climg/5de72c73092a3a7c05210135.jpg

4. 建议在setSale方法中通过参数sale进行判断而不是属性。修改后代码如下:

http://img.mukewang.com/climg/5de72d7809a8c4bd03270145.jpg

5. 建议去除get中的条件判断,因调用set方法设置的时候就给它把条件设置好了,这样设置进去的就是合法的数据,而get中设置的话,其实已经把不符合条件的数据设置进去了,只是取出来的时候,假装取出的是合法的数据。所以建议在set方法中限制,而不是get方法中判断。代码如下:

http://img.mukewang.com/climg/5de72d2c09d7e08f03110137.jpg

http://img.mukewang.com/climg/5de72d33094c2f1406470141.jpg

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

0

0 学习 · 11489 问题

查看课程