黑马程序员技术交流社区

标题: 基础班还有一周就结束了 努力吧少年 [打印本页]

作者: kakapc    时间: 2016-12-2 23:49
标题: 基础班还有一周就结束了 努力吧少年
本帖最后由 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++;
                }        
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2