为什么代码里面的if不起作用哪里出错了
public class Book {
//私有属性:书名、作者、出版社、价格
private String bookName;
private String zuoZeName;
private String chuBanName;
private double jiaGe;
//通过构造方法实现属性赋值
public Book(String bookName,String zuoZeName,String chuBanName,double jiaGe){
this.bookName=bookName;
this.zuoZeName=zuoZeName;
this.chuBanName=chuBanName;
this.jiaGe=jiaGe;
}
public void inFo(){
System.out.println("书名:"+bookName);
System.out.println("作者:"+zuoZeName);
System.out.println("出版社:"+chuBanName);
System.out.println("价格:"+jiaGe+"元");
}
public String getbookName(){
return bookName;
}
public String getzuoZeName(){
return zuoZeName;
}
public String getchuBanName(){
return chuBanName;
}
public String setchuBanName(){
this.chuBanName=chuBanName;
}
public double getjiaGe(){
return jiaGe;
}
public void setjiaGe(){
if(jiaGe<=10){
System.out.println("图书价格最低10元");
this.jiaGe=10;
}else{
this.jiaGe=jiaGe;
}
}
}
public class BookTest {
// 测试方法
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
Book hong=new Book("红楼梦","曹雪芹","人民文学出版社",9.0);
Book li=new Book("小李飞刀","古龙","中国长安出版社",55.5);
hong.inFo();
System.out.println("=====================================");
li.inFo();
}
}
为什么代码里面的if不起作用 哪里出错了?麻烦老师指点
正在回答 回答被采纳积分+1
因为你根本没有调用过get和set方法。 而且set方法是需要参数的不然你怎么传值进去呀。
//构造方法这样写
public Book(String bookName,String zuoZeName,String chuBanName,double jiaGe){
this.bookName=bookName;
this.zuoZeName=zuoZeName;
this.setchuBanName(chuBanName)
this.setjiaGe(jiaGe)
//set方法加参数
public void setjiaGe(String jiaGe){
if(jiaGe<=10){
System.out.println("图书价格最低10元");
this.jiaGe=10;
}else{
this.jiaGe=jiaGe;
}
}
public String setchuBanName(String chuBanName){
this.chuBanName=chuBanName;
}- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星