编写一个程序,接受命令行参数输入的一个日期格式为YYYYMMDD的字符串,

用异常处理机制判断输入的日期是否合法,不合法给出错误日期提示。... 用异常处理机制判断输入的日期是否合法,不合法给出错误日期提示。 展开
 我来答
lylegend13
推荐于2021-01-20 · TA获得超过4696个赞
知道大有可为答主
回答量:1701
采纳率:0%
帮助的人:1842万
展开全部
你好,我按照你的要求写的如下代码,可以直接运行

import java.util.Calendar;
import java.util.Scanner;

public class test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
s.close();
if (str.length() != 8) {
System.out.println("日期长度错误:" + str);
return;
}
String yearStr = str.substring(0, 4);
String monthStr = str.substring(4, 6);
String dayStr = str.substring(6, 8);
try {
int year = Integer.valueOf(yearStr);
int month = Integer.valueOf(monthStr);
int day = Integer.valueOf(dayStr);
Calendar c = Calendar.getInstance();
c.set(year, month, day);
if (year != c.get(Calendar.YEAR) || month != c.get(Calendar.MONTH)
|| day != c.get(Calendar.DATE)) {
System.out.println("日期越界错误:" + str);
return;
}
System.out.println("日期格式正确:" + str);
} catch (Exception e) {
System.out.println("日期内容错误:" + str);
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiuwanhan
2011-11-27 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:17.9万
展开全部
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c971877
2011-11-15
知道答主
回答量:1
采纳率:0%
帮助的人:1790
展开全部
正则表达式 去看看。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式