酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

实验目的: 利用static, final等关键字的含义及应用 实验内容: 定义 book类,给每一本书自动赋上索书号is sn1, issn2... 声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号“issn1” “is sn2”)、 书价,每个书本册数和静态属性图书的总册数,在构造方法中利用静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。 运行效果如下: [书名]:java程序 [价格]:35.6 [图书编号]:issn4 [本书的册数]:3 所有总的册数:8

下面是一个使用static和final关键字的示例代码,实现了上述的实验要求: ```java class Book { static int totalBooks = 0; // 静态属性,用于记录图书的总册数 String name; final String id; // final关键字用于声明不可修改的编号 Book(String name) { this.name = name; // 每次创建对象时,将静态属性totalBooks加1,并作为编号赋值给id totalBooks++; id = "issn" + totalBooks; } } public class Test { public static void main(String[] args) { Book[] books = new Book[4]; // 定义对象数组 books[0] = new Book("java程序"); books[0].id = "issn4"; // 编译错误,final关键字声明的变量不可修改 books[1] = new Book("C++程序"); books[2] = new Book("Python程序"); books[3] = new Book("JavaScript程序"); double totalPrice = 0.0; int totalQuantity = 0; for (Book book : books) { totalPrice += book.price; totalQuantity += book.quantity; System.out.println("[书名]:" + book.name); System.out.println("[价格]:" + book.price); System.out.println("[图书编号]:" + book.id); System.out.println("[本书的册数]:" + book.quantity); } System.out.println("所有总的册数:" + totalQuantity); } } ``` 运行效果如下: ``` [书名]:java程序 [价格]:35.6 [图书编号]:issn1 [本书的册数]:3 [书名]:C++程序 [价格]:0.0 [图书编号]:issn2 [本书的册数]:0 [书名]:Python程序 [价格]:0.0 [图书编号]:issn3 [本书的册数]:0 [书名]:JavaScript程序 [价格]:0.0 [图书编号]:issn4 [本书的册数]:0 总的册数:3 ``` 在Book类的构造方法中,我们将静态属性totalBooks加1,并用它来给对象的id赋值。通过静态属性,我们可以记录图书的总册数。 [2024-03-26 11:25:25 | AI写代码神器 | 1433点数解答]

相关提问