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

用java实现求前一天,用读取文件的方式读取当前时间 首先创建一个time.txt
1996-3-1
1997-3-1
2005-11-10
2010-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 stub
		return String.valueOf(tmp);
	}
	private static int inteager(String string) {
		// TODO Auto-generated method stub
		return Integer.parseInt(string);
	}

}
为了以后方便代码重用,还是养成经常包装类写函数的好习惯吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值