您的位置:首页 > 编程语言 > Java开发

杭电2005(第几天?)java字符串水过

2015-04-16 17:51 429 查看
点击打开杭电2005

1、split的应用:将字符串以某某字符为界划分为多个字符串

2、面向对象的编程

Problem Description
给定一个日期,输出这个日期是该年的第几天。


Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。


Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。


Sample Input
1985/1/20
2006/3/12




Sample Output
20
71


import java.util.*;
class MyDate{
	int year ,month,day;
	int[] months={0,31,0,31,30,31,30,31,31,30,31,30};
	public MyDate(String str){
		this.set(str);
	}
	public void set(String str){
		String[] s=str.split("/");
		this.year=Integer.parseInt(s[0]);
		this.month=Integer.parseInt(s[1]);
		this.day=Integer.parseInt(s[2]);
	}
	public boolean isLeapYear(){
		return year%400==0||year%4==0&&year%100!=0;
	}
	public int daysOfYear(){
		if(isLeapYear()){
			this.months[2]=29;
		}else{
			this.months[2]=28;
		}
		int sum=0;
		for(int i=1;i<this.month;i++){
			sum+=months[i];
		}
		return sum+this.day;
	}
}
class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext()){
			String str=sc.next();
			MyDate d=new MyDate(str);
			System.out.println(d.daysOfYear());
		}
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: