正在回答
几点修订建议:
1、同学在Book类中,出版社变量名称的首字母应小写。
2、在setPrice方法中,根据题目要求,当用户录入小于10时,并强制赋值为10。可以在该方法的if语句中添加一行代码:this.price = 10;
3、根据题目的要求设计构造函数实现对属性赋值,你的Book类中没有构造方法,你需要创建一个带参的构造方法。并且限定作者、书名均为只读属性,只读属性就是只有get方法而没有set方法。
4、另外,请同学以后提出问题的时候不要上传图片,而是直接复制代码,这样方便我们调试程序。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
老师 经过您的指点 我做出了重新修改 您查看一下:
这是对象:
package com.imooc.book;
public class BookTest {
// 测试方法
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
System.out.println("图书价格最低10元");
Book one=new Book("红楼梦","曹雪芹","人民文学出版社",10.0);
one.books();
System.out.println("=========================");
Book two=new Book("小李飞刀","古龙","中国长安出版社",55.5);
two.books();
}
}
下面是类:
package com.imooc.book;
public class Book {
private String bookname;//书名
private String author;//作者
private String PubliShers;//出版社
private double price;//价格
public Book(String bookname,String author,String PubliShers,double price){
this.bookname=bookname;
this.author=author;
this.PubliShers=PubliShers;
this.price=price;
}
public String getBookname() {
return bookname;
}
public String getAuthor() {
return author;
}
public String getPubliShers() {
return PubliShers;
}
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 void books(){
System.out.println("书名:"+this.bookname);
System.out.println("作者:"+this.author);
System.out.println("出版社:"+this.PubliShers);
System.out.println("价格:"+this.price+"元");
}
}
您看 这代码运行都正常,您再查看一下 逻辑是否有问题
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星