当前位置:文档之家› Java字符串,辽宁工程技术大学上机实验报告

Java字符串,辽宁工程技术大学上机实验报告

辽宁工程技术大学上机实验报告
实验内容:
(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<a.length;i++)
b[i]=Integer.parseInt(a[i]);
max=b[0];min=b[0];
for(i=0;i<b.length;i++)
{if(b[i]>max)max=b[i];
if(b[i]<min)min=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<message.length();i++){
if((""+message.charAt(i)).matches(regex)){
counter++;}
}
System.out.println(message+"中包含"+counter+"个汉字!");
}
}
结果如下:。

相关主题