声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组(最多10个元素),并求出总册数。
输入格式:
请输入每本图书对应的书名,书价(最多10本)
输出格式:
请输出每本图书对应的书名,书号,书价以及总图书数。
输入样例:
在这里给出一组输入(以空格分隔)。例如:
Java程序设计 34.5
数据结构 44.8
C++程序设计 35.0
输出样例:
在这里给出相应的输出(英文标点符号,中间无空格)。例如:
书名:Java程序设计,书号:1,书价:34.5
书名:数据结构,书号:2,书价:44.8
书名:C++程序设计,书号:3,书价:35.0
图书总册数为:3
import java.util.Scanner;
class Book {
String name;
int order;
float price;
static int total = 0; // 静态变量记录图书总册数
public Book(String name, float price) {
this.name = name;
this.price = price;
this.order = ++total; // 自动编号
}
public void display() {
System.out.println("书名:" + name + ",书号:" + order + ",书价:" + price);
}
}
public class Main {
public static void main(String[] args) {
Book[] books = new Book[10]; // 定义最多10个图书对象的数组
Scanner sc = new Scanner(System.in);
int t = 0;
while (sc.hasNextLine()) {
String line = sc.nextLine();
String[] parts = line.split(" ");
if (parts.length != 2) {
break;
}
String name = parts[0];
float price = Float.parseFloat(parts[1]);
books[t] = new Book(name, price); // 创建 Book 对象并添加到数组中
books[t].display();
t++;
}
System.out.println("图书总册数为:" + Book.total); // 输出图书总册数
}
}