本帖最后由 kakapc 于 2016-12-3 00:13 编辑
分享自己做的一个题
项目根目录下创建文件data.txt,文件用来存放键盘录入的数据
文件存放数据的格式要求:
1. 键盘每录入一次数据就将录入的数据在文件中存放成一行
2. 文件中最多存放5行
3.根据数据存放的时间上下排序,最早录入的在最后一行,最后录入的数据在文件的第一行
[Java] 纯文本查看 复制代码 public class Demo {
public static void main(String[] args) throws IOException {
//创建集合存放每次键盘录入的数据
ArrayList<String> list = new ArrayList<String>();
Scanner sc = new Scanner(System.in);
//定义一个标记
int num = 0;
while (true) {
System.out.println("请输入数据:");
String line = sc.nextLine();
//创建打印流
PrintWriter pw = new PrintWriter("data.txt");
//向集合中添加键盘录入的字符串
list.add(line);
//如果键盘录入"over" 将集合中数据 输出到文本中 退出程序
if ("over".equals(line)) {
//如果输入"over" 将不会进行下边的判断 并且 "over"也会添加到集合中 集合长度将会为6 所以移除"over"
list.remove("over");
for (int i = list.size()-1; i >= 0; i--) {
pw.println(list.get(i));
pw.flush();
}
pw.close();
System.exit(0);
}else if (num >= 5) {
//如果集合长度为6 将会移除第一个存入的元素 集合中只会有五个元素
list.remove(0);
for (int i = list.size()-1; i >= 0; i--) {
pw.println(list.get(i));
pw.flush();
}
}else if(num < 5){
for (int i = list.size()-1; i >= 0; i--) {
pw.println(list.get(i));
pw.flush();
}
}
num++;
}
}
} |