老师,我这里判断怎么没效果呢?小于10怎么没用呢?

老师,我这里判断怎么没效果呢?小于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;
	}
	
	 
}


正在回答

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

1回答

同学你好,同学代码中对价格的控制代码写在了setPrice中,但创建对象时使用的有参构造直接使用this语句进行赋值,所以导致没有执行控制代码。建议同学在有参构造中通过调用setPrice方法的形式对参数进行控制。

祝学习愉快~

  • 热爱编程学习 提问者 #1

    这个怎么打断点,用debug呢?

    2022-02-24 14:36:41
  • 同学你好,如果同学是想检查赋值是否正确,可以在以下两处中的任意一处打断点都可以:

    1. 在代码13行,即new语句打断点,使用F5跳入构造方法中

    2. 在代码35行,即构造方法中,使用F6检查赋值操作

    祝学习愉快~

    2022-02-24 14:49:44
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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