阅读测试程序,设计一个Book类。
函数接口定义:
class Book{}
该类有 四个私有属性
分别是 书籍名称
、 价格
、 作者
、 出版年份
,以及相应的set 与get方法;该类有一个含有四个参数的构造方法,这四个参数依次是书籍名称
、 价格
、 作者
、 出版年份
。
裁判测试程序样例:
import java.util.*; public class Main { public static void main(String[] args) { List <Book>books=new ArrayList<Book>(); Scanner in=new Scanner(System.in); for(int i=0;i<5;i++) { String str=in.nextLine(); String []data=str.split(","); Book book=new Book(data[0],Integer.parseInt(data[1]),data[2],Integer.parseInt(data[3])); books.add(book); } System.out.println(totalprice(books)); } /*计算所有book的总价*/ public static int totalprice(List <Book>books) { int result=0; for(int i=0;i<books.size();i++){result+=books.get(i).getPrice();} return result; } } /* 请在这里填写答案 */
输入样例:
三体,100,无名氏,1998
上下五千年,50,编辑部,2015
海底世界,50,无名氏2,2000
三体1,100,无名氏3,2017
三体3,100,无名氏4,1998
输出样例:
400
代码如下:
class Book{
private String bookname;
private double price;
private String author;
private int year;
public Book() {};//不带参数的构造函数,需要写(建议)
//带参的构造函数,进行初始化
//可以用source里的generate constructor using fields来快速立初始化
public Book(String bookname,double price,String author,int year) {
//成员变量
this.author = author;
this.bookname = bookname;
this.price = price;
this.year = year;
}
//生成set和get方法
public void setBookname(String bookname) { //注意无返回值
this.bookname = bookname; //this关键字:用来指 .bookname 的bookname 是成员变量
}
public String getBookname() { //注意返回值类型
return bookname;
}
public void setAuthor(String author) { //初始化建立
this.author = author;
}
public String getAuthor() { //得到
return author;
}
public void setPrice(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
public void setYear(int year) {
this.year = year;
}
public int getYear() {
return year;
}
}