求帮助指导一下
public class Book {
//私有属性:书名、作者、出版社、价格
private String book;
private String author;
private String compamy;
private double price;
//通过构造方法实现属性赋值
public Book(String book, String author, String company, double price) {
this.book = book;
this.author = author;
this.setCompany(company);
this.setPrice(price);
}
public void setPrice(double price) {
if(price <= 10) {
System.out.println("图书最低价格10元");
} else
this.price = price;
}
public void setCompany(String company) {
this.company = company;
}
public double getPrice() {
if (price <= 10) {
return 10;
} else
return price;
}
public String getName() {
return book;
}
public String getAuthor() {
return author;
}
public String getCompany() {
return company;
}
public void info() {
System.out.println("书名: " + getName());
System.out.println("作者: " + getAuthor());
System.out.println("出版社: " + getCompany());
System.out.println("价格: " + getPrice());
}
/*通过公有的get/set方法实现属性的访问,其中:
1、限定图书价格必须大于10,如果无效需进行提示,并强制赋值为10
2、限定作者、书名均为只读属性
*/
//信息介绍方法,描述图书所有信息
}为什么一直显示我的 setCompany()和 getCompany()这里有问题,说是vairable company
正在回答
private String compamy;
上面是你成员的定义,下面是你的调用语句
public void setCompany(String company) {
this.company = company;
}看到问题了么,company单词拼写错了。。。。当然就找不到定义啦。。。。要仔细哦~~祝学习愉快~~
public class BookTest {
public static void main(String[] args) {
//实例化对象,调用相关方法实现运行效果
Book book1;
Book book2;
book1 = new Book("红楼梦", "曹雪芹", "人民文学出版社", 9.0);
book1.info();
System.out.println("=================");
book2 = new Book("小李飞刀", "古龙", "中国长安出版社", 55.5);
book2.info();
}
}
报错原因:
/7/5893077/100/1867/Book.java:16: error: cannot find symbol
this.company = company;
^
symbol: variable company
/7/5893077/100/1867/Book.java:42: error: cannot find symbol
return company;
^
symbol: variable company
location: class Book
2 errors
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星