求帮助指导一下

求帮助指导一下

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

正在回答

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

3回答
    private String compamy;

上面是你成员的定义,下面是你的调用语句

public void setCompany(String company) {
            this.company = company;
        }

看到问题了么,company单词拼写错了。。。。当然就找不到定义啦。。。。要仔细哦~~祝学习愉快~~

  • Ethan0819 提问者 #1
    刚刚看到了。。。确实是,谢谢助教回答!
    2017-10-05 12:12:14
慕标1526174 2017-10-05 11:53:23

输出语句前面加上this.

  • 提问者 Ethan0819 #1
    并不用加this, 这是在book类里面,已经发现错误了,原来是声明成员变量时候company拼错了。感谢参与回答
    2017-10-05 12:08:57
  • 慕标1526174 回复 提问者 Ethan0819 #2
    好吧,拼错了
    2017-10-05 12:20:21
提问者 Ethan0819 2017-10-05 11:48:37

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


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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