此文用于记录在校Java课程学习】-实验报告2
此次实验要求如下:

以下为实验有的几个类

Test2部分代码:
package TestReport2;
import java.util.ArrayList;
import java.util.Scanner;
import ShoppingBook.Book; //调用ShoppingBook包中的Book类
import BookMenager.ShoppingManager; //调用BookMenager中的ShoppingManager类
public class Test2 {
static ArrayList<Book> bklab = new ArrayList<>(); //先预先声明一个成员...集合?
public static void main(String[] args) {
//第一小问调用输出语句
//Book.Bookinfo(114514,"Java Program Design",150,28.2); //调用Bookinfo方法填入ID、书名、库存、价格(题目给定
//第二问图书管理系统
ShoppingManager.addBook(bklab); //调用addBook方法,参数中填写预先声明好的集合
ShoppingManager.searchbook(bklab); //调用searchbook方法,参数中填写预先声明好的集合
//第三问收银系统
AllUsers.BookPay(); //调用Bookpay方法 往正下方翻就是了
}
}
//第三问图书收银系统?
class AllUsers {
public static void BookPay() {
Scanner bp = new Scanner(System.in);
System.out.println("\n请输入购买图书名称");
String bkname = bp.nextLine();
System.out.println("请输入购买数量");
int bknum = bp.nextInt();
System.out.println("请输入顾客已支付金额");
double pymion = bp.nextDouble();
for(int i = 0; i<Test2.bklab.size() ; i++) {
Book bn = Test2.bklab.get(i);
if( bn.getBookName().equals(bkname)) {
System.out.println("图书ID\t\t图书名\t\t图书库存\t图书价格\t目前折扣价\t应付\t实付\t找零");
Book bo = Test2.bklab.get(i);
System.out.printf(bo.getBookId()+"\t"+bo.getBookName()
+"\t"+bo.getBookStorage()+"\t"+ bo.getBookPrice()
+"\t" +Book.getBookDiccount(bo.getBookStorage(),bo.getBookPrice())
+"\t" +Book.getBookDiccount(bo.getBookStorage(),bo.getBookPrice())*bknum
+"\t" + pymion
+"\t" + (pymion-(Book.getBookDiccount(bo.getBookStorage(),bo.getBookPrice())*bknum))
); } else {System.out.println("查无此书");
}
}
}
}Book类部分代码:
package ShoppingBook;
public class Book {
//定义第一小问所需方法
//定义Bookinfo与getBookDiccount之间的成员变量
private static int BKST;
private static double BKPR;
//图书信息输出(为第一小问服务的方法
public static void Bookinfo(int BookId,String BookName,int BookStorage,double BookPrice) {
BKST = BookStorage; BKPR = BookPrice ;
System.out.printf("图书名: " +BookName +"\t图书ID: " +BookId
+"\t图书库存: " +BKST+"\t图书原价: " +BKPR+"\t图书折扣价: %.2f"
,getBookDiccount(BKST, BKPR));
}
//计算折扣方法
public static double getBookDiccount (int BookStorage,double BookPrice) {
double dc; BKST = BookStorage; BKPR = BookPrice;
if(BookStorage < 50 ) { //使用if...else if...判断方法
dc = BookPrice*0.5;
}else if(BookStorage >= 50 && BookStorage < 100 ) {
dc = BookPrice*0.6;
}else if(BookStorage >=100 && BookStorage < 200 ) {
dc = BookPrice*0.8;
}else { dc = BookPrice; }
return dc;
}
//以下为图书查询系统代码
//定义图书查询系统的成员变量
private String BookId;
private String BookName;
private int BookStorage;
private double BookPrice;
//无参构造方法
public Book() {
super();
// TODO Auto-generated constructor stub
}
//带参构造方法
public Book(String bookId, String bookName, int bookStorage, double bookPrice) {
super();
this.BookId = bookId;
this.BookName = bookName;
this.BookStorage = bookStorage;
this.BookPrice = bookPrice;
}
//以下为get,set方法
public String getBookId() {
return BookId; }
public void setBookId(String bookId) {
BookId = bookId; }
public String getBookName() {
return BookName; }
public void setBookName(String bookName) {
BookName = bookName; }
public int getBookStorage() {
return BookStorage; }
public void setBookStorage(int bookStorage) {
BookStorage = bookStorage; }
public double getBookPrice() {
return BookPrice; }
public void setBookPrice(double bookPrice) {
BookPrice = bookPrice; }
}ShoppingManager类部分代码:
package BookMenager;
import java.util.ArrayList;
import java.util.Scanner;
import ShoppingBook.Book;
public class ShoppingManager {
public static void addBook (ArrayList <Book> booklab) { //无参创建集合对象
Scanner bk = new Scanner(System.in); //键盘录入所需数据
System.out.println("请输入图书名: ");
String bname = bk.nextLine();
System.out.println("请输入图书ID: ");
String bid = bk.nextLine();
System.out.println("请输入图书库存: ");
int bstorage = bk.nextInt();
System.out.println("请输入图书原价: ");
double bprice = bk.nextDouble();
Book b = new Book();//调用ShoppingBook类中的Book方法对b进行实例化,并把键盘录入的数据赋值给b对象的成员变量
b.setBookId(bid);
b.setBookName(bname);
b.setBookStorage(bstorage);
b.setBookPrice(bprice);
booklab.add(b); //往集合中添加b的对象
System.out.println("添加图书成功!");
}
public static void searchbook(ArrayList <Book> booklab) { //遍历数组
System.out.println("图书ID\t\t图书名\t\t图书库存\t图书价格\t目前折扣价");
for(int i=0; i<booklab.size();i++) { //使用booklab.size的长度 控制循环次数
Book bo = booklab.get(i); //将集合中的元素按原顺序赋值回新Book对象的成员变量后输出
System.out.printf(bo.getBookId()+"\t"+bo.getBookName()
+"\t"+bo.getBookStorage()+"\t"+ bo.getBookPrice()
+"\t%.2f",Book.getBookDiccount(bo.getBookStorage(),bo.getBookPrice()) );
}
}
}
版权声明:本文为qq_44957695原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。