为什么代码里面的if不起作用哪里出错了

为什么代码里面的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

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

2回答
刘明马克 2017-07-17 17:33:12

 因为你根本没有调用过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;
}


  • 提问者 qq_NeedJustWord_0 #1
    构造方法里面有点不明白 是所有需要传值的都要写成this.xxx(xxx);这样的形式吗
    2017-07-17 17:38:37
好帮手慕雪 2017-07-17 17:33:00

setjiaGe()中没有形参呀,需要改成setjiaGe(double jiaGe)。祝:学习愉快

  • 提问者 qq_NeedJustWord_0 #1
    好的 这一点看明白了
    2017-07-17 17:39:04
  • 老师。。。。书名,作者名 怎么就和 出版社名 不是一个写法了、、、、、、、、、
    2017-07-27 00:10:24
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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