老师帮忙检查一下代码
来源: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方法。代码如下:
4. 建议在setSale方法中通过参数sale进行判断而不是属性。修改后代码如下:
5. 建议去除get中的条件判断,因调用set方法设置的时候就给它把条件设置好了,这样设置进去的就是合法的数据,而get中设置的话,其实已经把不符合条件的数据设置进去了,只是取出来的时候,假装取出的是合法的数据。所以建议在set方法中限制,而不是get方法中判断。代码如下:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题