1.未全部实现课程效果,如何改进?
没有实现价格上的提示信息。代码如下
package com.ioomc.book; public class Book { // 私有属性:书名、作者、出版社、价格 private String BookName; private String BookAuther; private String PublicCompany; private double prize; // 通过构造方法实现属性赋值 public Book(String BookName, String BookAuther, String PublicCompany, double prize) { this.BookName = BookName; this.BookAuther = BookAuther; this.PublicCompany = PublicCompany; this.setPrize(prize); //this.prize = prize; //!!!问题点,为什么这里换了一下写法就会有不同的效果? } /* * 通过公有的get/set方法实现属性的访问,其中: 1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10 2、限定作者、书名均为只读属性 */ public String getBookName() { return BookName; } public String getBookAuther() { return BookAuther; } public String getPublicCompany() { return PublicCompany; } public void setPublicCompany(String publicCompany) { this.PublicCompany = publicCompany; } public double getPrize() { return prize; } public void setPrize(double prize) { if (prize < 10) { System.out.println("图书价格最低10元"); prize =10; } else { System.out.println("价格" + prize); } this.prize = prize; } // 信息介绍方法,描述图书所有信息 public void book() { System.out.println("书名:" + BookName); System.out.println("作者:" + BookAuther); System.out.println("出版社:" + PublicCompany); System.out.println("价格:" + prize); System.out.println("==============================="); } }
package com.ioomc.book; public class BookTest { public static void main(String[] args) { // TODO Auto-generated method stub Book one=new Book("红楼梦","曹雪芹","人民出版社",9); one.book(); Book two=new Book("小李飞刀","古龙","中国长安出版社",55); two.book(); } }
3.效果
图书价格最低10元
书名:红楼梦
作者:曹雪芹
出版社:人民出版社
价格:10.0
===============================
价格55.0
书名:小李飞刀
作者:古龙
出版社:中国长安出版社
价格:55.0
===============================
16
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕珊
2017-11-12 11:20:50
有几个问题:
1、setPrize方法中把 this.prize = prize;这句话写到if-else的后面才行
2、构造方法中不用 this.prize = prize;这样就没有进行判断,应该调用setPrize方法this.setPrize(prize);
3、注意方法名应该首字母小写,所以输出信息的Book方法最好改成book或者info。另外,变量名的命名规则也和方法名一致。而且这个方法不需要有参数,已经通过构造方法给成员变量赋值了,对象中就已经包含成员变量的信息了,所以此处把参数去掉,输出的就是成员变量了,bookName就能相当于this.bookName了
4、(double)10不用这么写,10是int类型,会自动转换为double类型的。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星