为什么我价格里面的if没有运行

为什么我价格里面的if没有运行

package com.imooc.animal;


public class Book {

// 私有属性:书名、作者、出版社、价格

private String name;

private String author;

private String comoany;

private double price;


// 通过构造方法给属性赋值

public Book(String name, String author) {

this.name = name;

this.author = author;

}


/*

* 通过公有的get/set实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性

*/

public String getComoany() {

return comoany;

}


public void setComoany(String comoany) {

this.comoany = comoany;

}


public double getPrice() {

return price;

}


public void setPrice(double price) {

if (price < 10) {

System.out.println("图书最低价格为10!");

price = 10;

} else {

this.price = price;

}

}


public String getName() {

return name;

}


public String getAuthor() {

return author;

}


// 信息介绍方法,描述图书所有信息

public String info() {

String st = "书名:" + this.getName() + "\n作者:" + this.getAuthor() + "\n出版社:" + this.getComoany() + "\n价格"

+ this.getPrice();

return st;

}

}

package com.imooc.animal;


public class BookTest {

public static void main(String[] args) {

Book book = new Book("红楼梦", "曹雪芹");

book.setComoany("人民文学出版社");

book.setPrice(9);

System.out.println(book.info());

System.out.println("=====================");

Book book1 = new Book("小李飞刀", "古龙");

book1.setComoany("中国长安出版社");

book1.setPrice(55.5);

System.out.println(book1.info());


}

}


正在回答 回答被采纳积分+1

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

2回答
好帮手慕小脸 2020-02-27 15:33:22

同学你好,测试了同学修改后的代码,“图书最低价格为10!”这条语句已经输出了

http://img1.sycdn.imooc.com//climg/5e57704809452a3408350566.jpg

建议同学重新运行一下,以下附上老师修改后的代码,同学可对比看一下:

public class Book {

	// 私有属性:书名、作者、出版社、价格

	private String name;

	private String author;

	private String comoany;

	private double price = 2;

	// 通过构造方法给属性赋值

	public Book(String name, String author) {

		this.name = name;

		this.author = author;

	}
	/*
	 * 
	 * 通过公有的get/set实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性
	 * 
	 */

	public String getComoany() {

		return comoany;

	}

	public void setComoany(String comoany) {

		this.comoany = comoany;

	}

	public double getPrice() {

		return price;

	}

	public void setPrice(double price) {

		if (price < 10) {

			System.out.println("图书最低价格为10!");

			this.price = 10;

		} else {

			this.price = price;

		}

	}

	public String getName() {

		return name;

	}

	public String getAuthor() {

		return author;

	}

	// 信息介绍方法,描述图书所有信息

	public String info() {

		String st = "书名:" + this.getName() + "\n作者:" + this.getAuthor() + "\n出版社:" + this.getComoany() + "\n价格"

				+ this.getPrice();

		return st;

	}

}
public class BookTest {

	public static void main(String[] args) {

		Book book = new Book("红楼梦", "曹雪芹");

		book.setComoany("人民文学出版社");

		book.setPrice(9);

		System.out.println(book.info());

		System.out.println("=====================");

		Book book1 = new Book("小李飞刀", "古龙");

		book1.setComoany("中国长安出版社");

		book1.setPrice(55.5);

		System.out.println(book1.info());



	}

}

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小脸 2020-02-27 14:46:17

同学你好,之所以if没有运行,是因为同学并没有加上this。所以运行出来的结果是变量price的默认值0。具体修改如下:

http://img1.sycdn.imooc.com//climg/5e57650b09dcccc506300199.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕函数4736799 #1
    加上之后那条“最低价为10”的语句还是不会输出
    2020-02-27 14:51:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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