Java 静态变量统计(声明书类)

1.题目详情:

声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组(最多10个元素),并求出总册数。

2.输入格式:

请输入每本图书对应的书名,书价(最多10本)

3.输出格式:

请输出每本图书对应的书名,书号,书价以及总图书数。

4.输入样例:

在这里给出一组输入(以空格分隔)。例如:

Java程序设计 34.5
数据结构 44.8
C++程序设计 35.0

结尾无空行

5.答案代码:

import java.util.Scanner;
public class Main{
public static void main(String[] args) {
		int count=0;
		String test="";
		Scanner ab = new Scanner(System.in);
		while(ab.hasNext())
		{	count++;
			test = test +ab.next()+'^';
		}
		String[] array=test.split("\\^");
		
		
		
		 Book book[]=new Book[count/2];
		for(int i=0;i<count/2;i++) {
			String name=array[i*2];
			String price=array[i*2+1];
			double value = Double.valueOf(price.toString());
			
			Book books=new Book(name,value);
        	book[i]=books;
        	book[i].autonumber();
        	book[i].id2=Book.id;
        
			
		}
		
		for(int i=0;i<count/2;i++){
	         System.out.println("书名:"+book[i].name+",书号:"+book[i].id2+",书价:"+book[i].price);
	     }
		
		System.out.print("图书总册数为:"+Book.sum);
		
		
	}

}

class Book{
    String name;
    static int id=0;//静态变量编号
    double price;
    static int sum=0;//静态变量总册数
    int id2;
    public void autonumber(){
        id++;
        sum++;
    }
    public Book(String name,double price) {
    	this.name=name;
    	this.price=price;
    }
    
    }

6.输入案例运行:

7.提交结果:

### 回答1: 可以使用静态变量来记录图书总册数。在声明图书时,可以添加一个静态变量来记录图书总册数。静态变量变量,它的值在所有对象之间共享,并且不需要创建对象即可访问。 下面是一个示例代码: ```python class Book: total_books = 0 def __init__(self, title, author): self.title = title self.author = author Book.total_books += 1 ``` 在这个示例中,我们定义了一个`Book`,其中包含了一个静态变量`total_books`,用来记录图书总册数。在的构造函数`__init__`中,每次创建一个新的`Book`对象时,都会将`total_books`加1,以记录新添加的图书。 可以通过访问变量`Book.total_books`来获取当前图书总册数。例如: ```python book1 = Book("Python入门教程", "张三") book2 = Book("Java编程思想", "李四") print(Book.total_books) # 输出2,表示当前图书总册数为2 ``` ### 回答2: 声明图书,记录图书总册数,利用静态变量赋值可以通过以下步骤实现: 首先需要定义一个包含图书总册数的静态变量,可以定义一个名为totalBooks的静态变量型为int。静态变量的作用是在程序运行期间一直存在,不受对象的影响,因此可以在中定义静态变量记录所有对象中的共同属性,如总册数等。 在图书中,可以定义一些成员变量来表示图书的属性,如名称、作者、出版社、价格等。其中,名称、作者和出版社等属性可以用字符串型来表示,价格可以用浮点型来表示。 在图书中,需要定义一些方法来实现图书的操作,如借阅、归还、查询等功能。这些方法可以定义为公共方法,以便其他对象可以调用。 在操作图书对象时,需要对总册数进行统计。可以在图书的构造函数中,每创建一个图书对象就将总册数加1,以此来实现记录总册数的功能。需要注意的是,由于总册数是一个静态变量,因此需要使用名来调用,在构造函数中可以使用该名来引用静态变量totalBooks。 另外,因为静态变量的值在程序运行期间不会改变,所以可以在声明中直接为totalBooks赋初值,如totalBooks=0。 通过上述步骤,可以实现声明图书,记录图书总册数,利用静态变量赋值的功能。这样在程序中创建多个图书对象时,就可以统计所有对象的总册数,并实现其他对图书的操作。 ### 回答3: 声明图书时,我们可以定义一个包含图书信息的结构体,在结构体中记录每本图书的名称、作者、出版社等信息。同时,为了统计图书总册数,我们可以在图书中添加一个静态变量total来记录已经添加的图书总数。 具体而言,我们可以在图书中添加如下代码: ```cpp struct Book { string name; // 图书名称 string author; // 图书作者 string publisher; // 图书出版社 }; class Library { public: void addBook(Book book); // 添加图书 static int total; // 图书总册数 private: vector<Book> books; // 图书集合 }; int Library::total = 0; // 初始化图书总册数为0 void Library::addBook(Book book) { books.push_back(book); // 将新图书添加到集合中 total++; // 图书总册数加1 } ``` 在上述代码中,我们通过添加静态变量total来记录已经添加的图书总数。每当添加一本新的图书时,我们就在addBook函数中将总册数加1。需要注意的是,由于total是静态变量,我们需要在外初始化它的值为0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值