java编写book类,要求: 1.类中包含属性书名、书号、主编、出版社、页数、价格等。 2.其中页数不能少于200页,否则输出错误信息,并强制赋值200,价格不可为负数。 3.要求提供所有成员的只读权限,提供价格的修改权限。
时间: 2023-05-25 10:01:15 浏览: 155
java Book类
好的,我理解了您的要求。下面是我为您编写的Java Book类,满足您的需求。
```
public class Book {
private String name; // 书名
private String id; // 书号
private String editor; // 主编
private String publisher; // 出版社
private int pages; // 页数
private double price; // 价格
// 构造函数,初始化书名、书号、主编、出版社、页数、价格属性
public Book(String name, String id, String editor, String publisher, int pages, double price) {
this.name = name;
this.id = id;
this.editor = editor;
this.publisher = publisher;
// 如果页数少于200,输出错误信息,并强制赋值200
if (pages < 200) {
System.out.println("页数不能少于200页,将自动设置为200页。");
this.pages = 200;
} else {
this.pages = pages;
}
// 如果价格为负数,输出错误信息,并强制赋值0
if (price < 0) {
System.out.println("价格不能为负数,将自动设置为0元。");
this.price = 0;
} else {
this.price = price;
}
}
// 用于获取属性值的方法,提供只读权限
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getEditor() {
return editor;
}
public String getPublisher() {
return publisher;
}
public int getPages() {
return pages;
}
public double getPrice() {
return price;
}
// 用于修改价格的方法,提供修改权限
public void setPrice(double price) {
// 如果新价格为负数,输出错误信息,并保持原价不变
if (price < 0) {
System.out.println("价格不能为负数,保持原价不变。");
} else {
this.price = price;
System.out.println("价格已修改为" + price + "元。");
}
}
}
```
以上就是您需要的Java Book类,满足您给出的要求。如果您有任何问题或需要进一步的帮助,请随时联系我。
阅读全文