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 星