老师,帮忙优化一下代码
来源:1-7 编程练习
慕粉0958571925
2020-03-20 22:37:31
public class BookTest {
// 测试方法
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
Book dy1=new Book();
System.out.println("图书价格最低10元");
dy1.setSm("红楼梦");
System.out.println(dy1.getSm());
dy1.setZz("曹雪芹");
System.out.println(dy1.getZz());
dy1.setCbs("人民文学出版社");
System.out.println(dy1.getCbs());
dy1.setJg(10);
System.out.println("价格:"+dy1.getJg()+"元");
System.out.println("===============================");
Book dy2=new Book();
dy2.setSm("小李飞刀");
System.out.println(dy2.getSm());
dy2.setZz("古龙");
System.out.println(dy2.getZz());
dy2.setCbs("中国长安出版社");
System.out.println(dy2.getCbs());
dy2.setJg(55.5);
System.out.println("价格:"+dy2.getJg()+"元");
}
}
public class Book {
//私有属性:书名、作者、出版社、价格
private String sm,zz,cbs;
private double jg;
//通过构造方法实现属性赋值
public void setSm(String sm){
this.sm=sm;
}
public String getSm(){
return "书名:"+this.sm;
}
public void setZz(String zz){
this.zz=zz;
}
public String getZz(){
return "作者:"+this.zz;
}
public void setCbs(String cbs){
this.cbs=cbs;
}
public String getCbs(){
return "出版社:"+this.cbs;
}
public void setJg(double jg){
if(jg<=10) {
this.jg=10;
}
else {
this.jg=jg;
}
}
public double getJg(){
return this.jg;
}
/*通过公有的get/set方法实现属性的访问,其中:
1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
2、限定作者、书名均为只读属性
*/
//信息介绍方法,描述图书所有信息
}
1回答
好帮手慕小琪
2020-03-21
同学你好,同学代码有一处错误。题中要求书名和作者为只读属性,所以这两个属性不加set方法,并创建有书名和作者属性的构造方法。
优化代码如下:
public class Book { //私有属性:书名、作者、出版社、价格 private String sm; private String zz; private String cbs; private double jg; //通过构造方法实现属性赋值 public Book(String sm, String zz) { this.sm = sm; this.zz = zz; } public String getSm(){ return this.sm; } public String getZz(){ return this.zz; } public void setCbs(String cbs){ this.cbs=cbs; } public String getCbs(){ return this.cbs; } public void setJg(double jg){ if(jg<=10) { this.jg=10; } else { this.jg=jg; } } public double getJg(){ return this.jg; } /*通过公有的gett方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ //信息介绍方法,描述图书所有信息 public String info() { String st="书名:"+this.getSm()+"\n作者:"+this.getZz()+"\n出版社"+ this.getCbs()+"\n价格"+this.getJg()+"元"; return st; } }
public class BookTest { // 测试方法 public static void main(String[] args) { //实例化对象,调用相关方法实现运行效果 Book dy1=new Book("红楼梦","曹雪芹"); System.out.println("图书价格最低10元"); dy1.setCbs("人民文学出版社"); dy1.setJg(10); System.out.println(dy1.info()); System.out.println("==============================="); Book dy2=new Book("小李飞刀","古龙"); dy2.setCbs("中国长安出版社"); dy2.setJg(55.5); System.out.println(dy2.info()); } }
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题