标题:帮改一下日期输出题(急)
取消只看楼主
hugh0929
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-7-14
 问题点数:0 回复次数:0 
帮改一下日期输出题(急)

输入一个日期,输出标准化的日期。
输入日期可能是下列两种格式之一:
月/日/年  其中月、日、年均由数字表示。
月 日, 年  其中日、年为数字,月为单词。月和日之间,逗号和年之间恰有一个空格。
标准日期格式如下:
月 日, 年, 星期
其中日、年为数字,月、星期为单词。月和日之间,两个逗号后面恰各有一个空格。
年号为4位,在1800和2100之间(含)。
月份单词:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
星期单词:
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
输入格式:
一行,包含一个日期。前后没有空格。
输出格式:
一行,包含一个标准格式日期。
样例输入:
3/18/2007
样例输出:
Mar 18, 2007, Sunday
样例输入2:
Feb 28, 2000
样例输出2:
Feb 29, 2000,Tuesday
以下是本人做的但怎么弄都不好使!
package ssss;
import java.util.GregorianCalendar;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DateFormatSymbols;
import static java.util.Calendar.*;

public class riqi
{

public static void main(String[] args)
{
int moth = 0;
@SuppressWarnings("unused")
String mm= "";
String str = null;
BufferedReader dateyy = new BufferedReader(
new InputStreamReader(System.in));
try
{
str = dateyy.readLine();

}
catch(IOException e)
{
e.printStackTrace();
System.exit(1);
}
String text="[, /]";
int[] limits = {0};

for(int limit:limits)
{
String[] tokens = str.split(text, limit);
if(tokens[2]==" ")
{
tokens[2]=tokens[3];
}

if (Integer.parseInt (tokens[2])<=1800 ||
Integer.parseInt (tokens[2])>=2100)
{
System.out.print ("该年份超出计算机认知的范围!");
break;
}
System.out.print(tokens[0]);
if(tokens[0]=="1"||tokens[0]=="Jan")
{moth=1;mm="Jan";}
else if (tokens[0]=="2"||tokens[0]=="Feb")
{moth=2;mm="Feb";}
else if (tokens[0]=="3"||tokens[0]=="Mar")
{moth=3;mm="Mar";}
else if (tokens[0]=="4"||tokens[0]=="Apr")
{moth=4;mm="Apr";}
else if (tokens[0]=="5"||tokens[0]=="May")
{moth=5;mm="May";}
else if (tokens[0]=="6"||tokens[0]=="Jun")
{moth=6;mm="Jun";}
else if (tokens[0]=="7"||tokens[0]=="Jul")
{moth=7;mm="Jul";}
else if (tokens[0]=="8"||tokens[0]=="Aug")
{moth=8;mm="Aug";}
else if (tokens[0]=="9"||tokens[0]=="Sep")
{moth=9;mm="Sep";}
else if (tokens[0]=="10"||tokens[0]=="Oct")
{moth=10;mm="Oct";}
else if (tokens[0]=="11"||tokens[0]=="Nov")
{moth=11;mm="Nov";}
else if (tokens[0]=="12"||tokens[0]=="Dec")
{moth=12;mm="Dec";}
else
{ System.out.println("您输入的月份不是正确的格式!");
break;}
int day=Integer.parseInt(tokens[1]);
int year=Integer.parseInt(tokens[2]);
GregorianCalendar date=new GregorianCalendar(year,moth-1,day);
String[] weekdays=new DateFormatSymbols().getWeekdays();
String week=weekdays[date.get(DAY_OF_WEEK)];
System.out.println(week);
}



}


}

搜索更多相关主题的帖子: 单词 数字 输出 逗号 年号 
2007-07-14 16:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-155337-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054729 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved