软件测试 功能测试 java求前一天

来源:互联网 发布:股份公司股东人数 知乎 编辑:程序博客网 时间:2024/05/04 07:03
用java实现求前一天,用读取文件的方式读取当前时间 首先创建一个time.txt
1996-3-11997-3-12005-11-102010-9-8

然后创建一个文件读取类和一个键值对包装类(好吧,这个后来没用上因为发现不需要序号这个东西)

package file;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;public class fileread {  public static ArrayList<intKeyStrValue> readFileByLines(String fileName) {        File file = new File(fileName);        ArrayList<intKeyStrValue> List = new ArrayList();         BufferedReader reader = null;        try {            //System.out.println("以行为单位读取文件内容,一次读一整行:");            reader = new BufferedReader(new FileReader(file));            String tempString = null;            int line = 1;            // 一次读入一行,直到读入null为文件结束            while ((tempString = reader.readLine()) != null) {                // 显示行号                //System.out.println("line " + line + ": " + tempString);                List.add(new intKeyStrValue(line,tempString));                line++;            }            return List;        } catch (IOException e) {            e.printStackTrace();        } finally {            if (reader != null) {                try {                    reader.close();                } catch (IOException e1) {                }            }        }return List;    }}

接下来是键值对

package file;public class intKeyStrValue {public int number;public String value;public intKeyStrValue(int num,String val){number=num;value=val;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}}

最后是主函数

import java.util.ArrayList;import file.fileread;import file.intKeyStrValue;public class Main {public static void main(String[] args) {fileread  m=new fileread();ArrayList<intKeyStrValue> List = new ArrayList();List=fileread.readFileByLines("/home/kalaer/workspace/perday/appClientModule/time.txt");for (int i = 0; i < List.size(); i++) { String pre=PreDay(List.get(i).getValue());            System.out.println(List.get(i).getNumber()+""+List.get(i).getValue()+"pre day is"+pre);          }   }public static String PreDay(String date){int isleep=0;int isbig=0;int tmpyear = 0;int tmpmouth=0;int tmpday=0;int[] bigmouth= {1,3,5,7,8,10,12};        String[] names = date.split("\\-");        for (int i = 0; i < names.length; i++) {         if(inteager(names[0])%4==0 && inteager(names[0])%100 !=0 ||inteager(names[0])%400 ==0)         {         isleep=1;         }         else         {         isleep=0;         }         for(int i1=0;i1<bigmouth.length;i1++)         {         if(bigmouth[i1]==inteager(names[1]))         {         isbig=1;         }         else             {             isbig=0;             }         }         if(inteager(names[2])==1)         {         if(inteager(names[1])==3)         {         if(isleep==1)         {         tmpyear=inteager(names[0]);                 tmpmouth=inteager(names[1])-1;                 tmpday=29;         }         else         {         tmpyear=inteager(names[0]);                 tmpmouth=inteager(names[1])-1;                 tmpday=28;         }          }         else          {         if(isbig==1)         {         tmpyear=inteager(names[0]);                 tmpmouth=inteager(names[1])-1;                 tmpday=31;         }         else         {         tmpyear=inteager(names[0]);                 tmpmouth=inteager(names[1])-1;                 tmpday=30;         }          }         }         else         {         tmpyear=inteager(names[0]);         tmpmouth=inteager(names[1]);         tmpday=inteager(names[2])-1;         }            }return toString(tmpyear)+"-"+toString(tmpmouth)+"-"+toString(tmpday);}private static String toString(int tmp) {// TODO Auto-generated method stubreturn String.valueOf(tmp);}private static int inteager(String string) {// TODO Auto-generated method stubreturn Integer.parseInt(string);}}
为了以后方便代码重用,还是养成经常包装类写函数的好习惯吧

0 0
原创粉丝点击