📄 consolebooktypegetter.java
字号:
package booksystem.console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import booksystem.BookType;
import booksystem.IBookTypeGetter;
//控制台取得图书类型的类,实现取得图书类型接口
public class ConsoleBookTypeGetter implements IBookTypeGetter {
@Override
public BookType getBookType() {
List<BookType> booktypes = null;
// 打开图书类别配置文件,并读入所有类别信息
File booktypesfile = new File("BookTypes.txt");
try {
FileInputStream fis = new FileInputStream(booktypesfile);
Scanner filescanner = new Scanner(fis);
booktypes = new ArrayList<BookType>();
while (filescanner.hasNext()) {
String str = filescanner.nextLine();
BookType bt = new BookType();
bt.setName(str.split(",")[0]);
bt.setPricePerDay(Double.parseDouble(str.split(",")[1]));
booktypes.add(bt);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 输出所有类别,供管理员选择
System.out.println("请选择图书类型:");
for (int i = 0; i < booktypes.size(); i++) {
if (i > 0)
System.out.print("/");
System.out.print(i + ":" + booktypes.get(i).getName());
}
System.out.println();
// 接收管理员的选择
Scanner consolescanner = new Scanner(System.in);
int typeindex = 0;
do {
System.out.print("请输入类别编号:");
typeindex = consolescanner.nextInt();
if (typeindex < 0 || typeindex > booktypes.size() - 1)
System.out.println("类别编号必须在0和" + (booktypes.size() - 1) + "之间");
} while (typeindex < 0 || typeindex > booktypes.size() - 1);
// 返回管理员选择的图书类别
return booktypes.get(typeindex);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -