黑马程序员技术交流社区

标题: 今天考黑马的测试题 [打印本页]

作者: wanghanqing    时间: 2016-9-1 22:39
标题: 今天考黑马的测试题

1. 键盘每录入一次数据就将录入的数据在文件中存放成一行
2. 文件中最多存放5行
3.根据数据存放的时间上下排序,最早录入的在最后一行,最后录入的数据在文件的第一行

作者: a825125501    时间: 2016-9-1 23:25
1:用bufferedwriteStream  readLine()
2:可以用一个计数器,计数,每换行一次就+1 ,到5就不存储
3:这个采用倒序遍历,然后写入文件就行了

作者: 18366882177    时间: 2016-9-2 08:14
package cn.test3;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collections;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

/*
* 项目根目录下创建文件data.txt,文件用来存放键盘录入的数据
文件存放数据的格式要求:
1. 键盘每录入一次数据就将录入的数据在文件中存放成一行
2. 文件中最多存放5行???
3.根据数据存放的时间上下排序,最早录入的在最后一行,最后录入的数据在文件的第一行
*/
public class Test3 {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                TreeMap<Integer, String> map=new TreeMap<Integer,String>(Collections.reverseOrder());
                int j=0;
                File file=new File("data.txt");
                if(!file.exists()){
                file.createNewFile();
                }
                BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(file));
                while(true){
                        j++;
                System.out.println("请输入录入信息:");
                String string=new Scanner(System.in).nextLine();
                map.put(j, string);
                System.out.println("是否还要录入?(0否 其他数字是)");
                int jh = new Scanner(System.in).nextInt();
                if(jh==0){
                        break;
                }
                }
                int num=0;
                Set<Entry<Integer, String>> entrySet = map.entrySet();
                for (Entry<Integer, String> entry : entrySet) {
                        num++;
                        if (num<6) {
                                bufferedWriter.write(entry.getValue());
                                bufferedWriter.newLine();
                                bufferedWriter.flush();
                        }else{
                                break;
                        }
                       
                }
               
                bufferedWriter.close();
        }

}

作者: 赢无翳    时间: 2016-9-2 12:18
这个应该可以把键盘录入存进arraylist 然后倒序取出 再用bufferedwriter输出吧
作者: 418777630    时间: 2016-9-8 00:29
讲得太好了 ,顶顶顶!!!




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