老师,我这里判断怎么没效果呢?小于10怎么没用呢?
package com.imoocproj; public class Test { public static void main(String[] args) { //调用无参构造方法实例对象 // Person p=new Person(); // //打印输出对象属性 // // //调用带参构造方法实例对象 // Person w=new Person("houzi","buh"); // //打印输出对象属性 Person p=new Person("红楼梦","曹雪芹","人民出版社",9.9f); Person w=new Person("小李飞刀","古龙","中国长安出版社",9.9f); System.out.println(p.Strc()); System.out.println("======================="); System.out.println(w.Strc()); } } package com.imoocproj; public class Person { private String sname; private String name; private String cname; private float Price; //通过构造方法实现属性赋值 // public void setsname(String sname) { // this.sname=sname; // } public Person(String sname,String name,String cname,float Price) { this.sname=sname; this.cname=cname; this.name=name; this.Price=Price; } public String getsname() { return sname; } public String getName() { return name; } // // public void setName(String name) { // this.name = name; // } public void setcname(String cname) { this.cname=cname; } public String getcname() { return cname; } public void setPrice(float Price) { if(Price<=10) { System.out.println("限定图书价格必须大于10"); this.Price=10f; }else { this.Price=Price; } } public float getPrice() { return Price; } /*通过公有的get/set方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ //信息介绍方法,描述图书所有信息 public String Strc() { String a="书名:"+this.sname+"\n作者:"+this.name+"\n出版社:"+this.cname+"\n价格:"+this.Price; return a; } }
17
收起
正在回答
1回答
同学你好,同学代码中对价格的控制代码写在了setPrice中,但创建对象时使用的有参构造直接使用this语句进行赋值,所以导致没有执行控制代码。建议同学在有参构造中通过调用setPrice方法的形式对参数进行控制。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星