声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。输出格式: 请输出每本图书对应的书名,书号,书价以及总图书数。输出样例: 书名:Java程序设计, 书号:1, 书价:34.5 书名:数据结构, 书号:2, 书价:44.8 书名:C++程序设计, 书号:3, 书价:35.0 图书总册数为:3
时间: 2024-03-03 10:49:53 浏览: 146
好的,以下是实现了您要求的图书类的代码:
```java
public class Book {
private String name;
private int id;
private double price;
public static int totalNum = 0; // 静态数据成员,记录图书的总册数
private static int idGenerator = 0; // 静态变量,用于为对象的编号赋值
public Book(String name, double price) {
this.name = name;
this.price = price;
this.id = ++idGenerator;
totalNum++;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public double getPrice() {
return price;
}
}
```
然后在主方法中定义对象数组,并输出每本图书的书名、书号、书价,最后输出总图书数。以下是完整的代码:
```java
public class Main {
public static void main(String[] args) {
Book[] books = { new Book("Java程序设计", 34.5),
new Book("数据结构", 44.8),
new Book("C++程序设计", 35.0) };
for (Book b : books) {
System.out.println("书名:" + b.getName() + ",书号:" + b.getId() + ",书价:" + b.getPrice());
}
System.out.println("图书总册数为:" + Book.totalNum);
}
}
```
输出结果如下:
```
书名:Java程序设计,书号:1,书价:34.5
书名:数据结构,书号:2,书价:44.8
书名:C++程序设计,书号:3,书价:35.0
图书总册数为:3
```
阅读全文