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;
}
}