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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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+"个汉字!");

}

}

结果如下:

相关文档
最新文档