首页 > 其他 > 详细

Homework2

时间:2015-06-23 22:51:06      阅读:195      评论:0      收藏:0      [点我收藏+]
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

//以下格式 2013-10-01~2013-10-02 100 表示 2013-10-01 入住,2013-10-02 离店,入住一天的价格是¥100。
//现有文件中包含多行这样的日期价格段,请将其合并,合并的规则包括:
//1)价格相同,日期段相邻或者重叠的需要合并
//2)相同日期的价格已后面录入的为准
//例子1:
//2013-08-01~2013-08-31 300
//2013-08-25~2013-09-30 300
//合并后就是
//2013-08-01~2013-09-30 300
//例子2:
//2013-08-01~2013-12-31 300
//2013-10-01~2013-10-07 500
//合并之后就是
//2013-08-01~2013-10-01 300
//2013-10-01~2013-10-07 500
//2013-10-07~2013-12-31 300
//请读入指定文件 http://fresh.qunar.com/sites/price.txt,并将所有的日期价格段合并后,按照入住日期升序展示,输出到控制台即可。
//考察点: 基础算法, 数据结构
public class Homework2 {
    public static String[][] readTxt(File file){    
        String[][]a ;//= new int[1000][1000];
        try {
            Scanner sn = new Scanner(new FileReader(file));
            String line;
            
            
            int start,end;
            while(sn.hasNextLine()){
                line = sn.nextLine().replaceAll("-", "");                            
                start =Integer.valueOf(line.substring(0, line.indexOf(‘~‘)));
                end =Integer.valueOf(line.substring(line.indexOf(‘~‘)+1, line.indexOf(‘ ‘)));
                a[start][end]= line.substring(line.indexOf(" ")+1, line.length());
            }            
            sn.close();                
            } catch (FileNotFoundException e) {            
                e.printStackTrace();
            }
        System.out.println(a.toString());
        return a;    
        }
    //Map<Map<Date,Date>,Integer> data = new Hashtable<Map<Date,Date>, Integer>();
    //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
//                Map<Date, Date>date = new Hashtable<Date, Date>();
//                try {
//                    System.out.println(line.replaceAll("-", ""));
                    //System.out.println(line);
                    //                    Date start = sdf.parse(line.substring(0, line.indexOf(‘~‘)));
//                    Date end = sdf.parse(line.substring(line.indexOf(‘~‘)+1, line.indexOf(‘ ‘)));
//                    date.put(start, end);
//                    //System.out.println(sdf.format(start)+"~"+sdf.format(end));
//                    data.put(date, Integer.valueOf(line.substring(line.indexOf(" ")+1, line.length())));
//                } catch (ParseException e) {
//                    e.printStackTrace();
//                }                

            //System.out.println(sdf.format(data.toString()));

    public static void main(String[] args){
        //Map<Map<Date,Date>,Integer> data;
        int[][]a;
        File price = new File("C:\\Users\\xifeng\\Downloads\\price.txt");
        a = readTxt(price);
        
    }
}

 

Homework2

原文:http://www.cnblogs.com/yizhe/p/4596268.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!