Java字符串,辽宁工程技术大学上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工程技术大学上机实验报告
实验内容:
(1)用命令行方式提供1至3个整数,按顺序分别为年、月、日数据。若仅提供一个整数,则为年号,程序判断该年是否为闰年;若提供两个整数,则为年号、月号,程序输出为该年月的天数;若提供三个整数,则为年、月、日数据,程序输出这一天是星期几。若未提供任何数据或提供的数据个数超过三个,则程序输出出错信息并给出程序的使用方法。
程序如下:
public class Date {
public static int MonthDay(int year,int month){
int n=0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month== 12) n=31;
else if(month==2){if(year%400==0||(year%4==0&&year%100!=0)) n=29;
else n=28;}
else n=30;
return n;
}
public static void main(String[] args) {
int year,month,day,len,bool=0,n,i,a,b=0,c;
len=args.length;
if(len<1||len>3){
System.out.println("您输入的参数个数错误!");
System.out.println("请重新启动程序,并用命令行方式提供1至3个整数参数");
}
else{
switch(len)
{case 1:year=Integer.parseInt(args[0]);
if(year%400==0||(year%4==0&&year%100!=0))
System.out.println(year+"是闰年。");
else
System.out.println(year+"是平年。");break;
case 2:year=Integer.parseInt(args[0]);
month=Integer.parseInt(args[1]);
n=MonthDay(year,month);
System.out.println(year+"年 "+month+"月有 "+n+"天。");break;
case 3:year=Integer.parseInt(args[0]);
month=Integer.parseInt(args[1]);
day=Integer.parseInt(args[2]);
a=year+(year-1)/4-(year-1)/100+(year-1)/400;
for(i=1;i<=month-1;i++)
b=b+MonthDay(year,i);
a=(a+b+day-1)%7;
switch(a)
{case 0:System.out.println(year+"年"+month+"月"+day+"日是星期天.");;break;
case 1:System.out.println(year+"年"+month+"月"+day+"日是星期一.");break;
case 2:System.out.println(year+"年"+month+"月"+day+"日是星期二.");break;
case 3:System.out.println(year+"年"+month+"月"+day+"日是星期三.");break;
case 4:System.out.println(year+"年"+month+"月"+day+"日是星期四.");break;
case 5:System.out.println(year+"年"+month+"月"+day+"日是星期五.");break;
case 6:System.out.println(year+"年"+month+"月"+day+"日是星期六.");break;
}}
}}
}
结果如下:
(2)用split方法对一个逗号分隔的数字字符串中的各个数字求最大值、最小值。程序如下:
public class Split {
public static void main(String[] args) {
String s="18,97,63,54,22,78,101,3,88,39";
String a[]=s.split(",");
int b[]=new int [a.length],max,min,i;
for(i=0;i b[i]=Integer.parseInt(a[i]); max=b[0];min=b[0]; for(i=0;i {if(b[i]>max)max=b[i]; if(b[i] System.out.println("这个数字字符串中的各个数字的最大值为:"+max); System.out.println("这个数字字符串中的各个数字的最小值为:"+min); } 精选文库 } 结果如下: (3)利用正则表达式判断当前字符是否是汉字并计数。 程序如下: public class Chinese { public static void main(String[] args) { String message="辽宁工程技术大学理学院理科13-1班,Java!"; String regex="^[\u4e00-\u9fff]$"; int counter=0; for(int i=0;i if((""+message.charAt(i)).matches(regex)){ counter++;} } System.out.println(message+"中包含"+counter+"个汉字!"); } } 结果如下: