if(num[i-1]>300)count++;
}
System.out.println("最大的随机整数是:
"+max);
System.out.println("最小的随机整数是:
"+min);
System.out.println("大于300的整数个数是:
"+count);
}
}
2.求下列二维数组中各行元素之和并查找其值最大的那个行。
packageexercise;
publicclassshiyan3_2{
publicstaticvoidmain(String[]args)
{
inttwoDimArray[][]={
{24,47,55,44,24,68,98},
{96,71,64,95,20,18,21},
{47,34,28,36,89,63,86},
{64,46,58,73,24,73,13}
};
intsum,max,maxRow=0;
max=0;
for(introw=0;row<4;row++)//数组的行数
{
sum=0;
for(intcol=0;col<7;col++)//数组的列数
sum+=twoDimArray[row][col];
if(sum>max)
{
maxRow=row;
max=sum;
}//求得和最大的行及总和
}
System.out.println("和最大的行是"+maxRow+"最大值为"+max);
}
}
3.String类的常用方法。
实验要求:
编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串。
packageexercise;
publicclassshiyan3_3{
publicstaticvoidmain(String[]args)
{
Strings1=newString("徐州工程学院"),
s2=newString("江苏省徐州市");
if(s1.equals(s2))System.out.println("s1与s2相同");//使用equals方法判断s1与s2是否相同
elseSystem.out.println("s1与s2不相同");
Strings3=newString("320305199410288514");
if(s3.substring(0,6).equals("320305"))System.out.println("江苏省徐州市的身份证");//判断s3的前缀是否是“320305”
Strings4=newString("你"),
s5=newString("我");
if(pareTo(s5)>0)System.out.println("按字典序s4大于s5");//按着字典序s4大于s5的表达式
elseSystem.out.println("按字典序s4小于s5");
intposition=0;
Stringpath="c:
\\java\\SY6_1.java";
position=path.lastIndexOf("\\");//获取path中最后出现目录分隔符号的位置
System.out.println("path中最后出现\\的位置:
"+position);
StringfileName=path.substring(12);//获取path中“SY6_1.java”子字符串。
System.out.println("path中含有的文件名:
"+fileName);
Strings6=newString("230"),s7=newString("123.456");
intn1=Integer.parseInt(s6);//将s6转化成int型数据。
doublen2=Double.parseDouble(s7);//将s7转化成double型数据。
doublem=n1+n2;
System.out.println(m);
Strings8=String.valueOf(m);//String调用valuOf(intn)方法将m转化为字符串对象
position=s8.indexOf(".");
Stringtemp=s8.substring(position+1);
System.out.println("数字"+m+"有"+temp.length()+"位小数");
Strings9=newString("ABCDEF");
chara[]=newchar[6];//将s8存放到数组a中。
for(inti=a.length-1;i>=0;i--)
System.out.print(""+a[i]);
}
}
4.比较日期的大小
实验要求:
编写一个java应用程序,用户从输入对话框输入了两个日期,程序将判断两个日期的大小关系、以及两个日期之间的间隔天数。
packageexercise;
importjava.sql.Date;
importjava.util.Calendar;
importjavax.swing.JOptionPane;
publicclassshiyan3_4{
publicstaticvoidmain(String[]args)
{
Stringstr=JOptionPane.showInputDialog("输入第一个日期的年份:
");
intyearOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该年的月份:
");
intmonthOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该月份的日期:
");
intdayOne=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入第二个日期的年份:
");
intyearTwo=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该年的月份:
");
intmonthTwo=Integer.parseInt(str);
str=JOptionPane.showInputDialog("输入该月份的日期:
");
intdayTwo=Integer.parseInt(str);
Calendarcalendar=Calendar.getInstance();//初始化日历对象
calendar.set(yearOne,monthTwo,dayOne);//将calendar的时间设置为yearOne年monthOne月dayOne日
longtimeOne=calendar.getTimeInMillis();//calendar表示的时间转换成毫秒
calendar.set(yearTwo,monthTwo,dayTwo);//将calendar的时间设置为yearTwo年monthTwo月dayTwo日
longtimeTwo=calendar.getTimeInMillis();//calendar表示的时间转换成毫秒。
Datedate1=newDate(timeOne);//用timeOne做参数构造date1
Datedate2=newDate(timeTwo);//用timeTwo做参数构造date2
if(date2.equals(date1))System.out.println("两个日期的年、月、日完全相同");
elseif(date2.after(date1))System.out.println("您输入的第二个日期大于第一个日期");
elseif(date2.before(date1))System.out.println("您输入的第二个日期小于第一个日期");
longdays=Math.abs((date1.getTime()-date2.getTime())/(24*3600*1000));//计算两个日期相隔天数
System.out.println(yearOne+"年"+monthOne+"月"+dayOne+"日和"
+yearTwo+"年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");
}
}
5.有NUMBER个马拉松运动员,对这些运动员的成绩进行排名次,NUMBER和运动员的成绩由用户输入,编写程序,输出所有运动员的成绩和名次。
packageexercise;
importjava.util.Scanner;
publicclassshiyan3_5{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
System.out.print("请输入Number:
");
@SuppressWarnings("resource")
intNumber=newScanner(System.in).nextInt();
String[]name=newString[Number];
double[]score=newdouble[Number];
int[]sortNumber=newint[Number];
Scannerscanner=newScanner(System.in);
for(inti=0;iSystem.out.print("请输入第"+(i+1)+"个运动员的姓名:
");
name[i]=scanner.nextLine();
System.out.print("请输入第"+(i+1)+"个运动员的分数:
");
score[i]=scanner.nextDouble();
scanner.nextLine();
sortNumber[i]=i;
}
scanner.close();
for(inti=0;ifor(intj=0;jif(score[j]>score[j+1]){
inttemp=sortNumber[j];
sortNumber[j]=sortNumber[j+1];
sortNumber[j+1]=temp;
}
}
}
System.out.println("马拉松运动员排名榜:
");
System.out.println("名次"+"\t"+"姓名"+"\t"+"分数");
for(inti=0;iSystem.out.println(i+1+"\t"+name[sortNumber[i]]+"\t"+score[sortNumber[i]]);
}
}
}
6.某班级有50个学生,针对每个学生的《Java程序设计》成绩x,输出其相应的等级,等级为:
优秀、良好、中等、及格和不及格,划分标准为优秀(90≤x≤100)、良好(80≤x<90)、中等(70≤x<80)、及格(60≤x<70)、不及格(x<60)。
当某个学生的成绩x<45时,增加警告提示信息“你的成绩太低了,需要加倍努力!
”。
packageexercise;
publicclassshiyan3_7{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
int[]score=newint[50];
for(inti=0;i<50;++i){
score[i]=(int)(Math.random()*65)+35;
}
for(inti=0;i<50;++i){
System.out.print("Thisisthe"+(i+1)+"student,he(she)scoreis"+score[i]+":
");
switch(score[i]/10)
{
case10:
case9:
System.out.println("优秀");break;
case8:
System.out.println("良好");break;
case7:
System.out.println("中等");break;
case6:
System.out.println("及格");break;
default:
System.out.println("不及格");break;
}
if(score[i]<45){
System.out.println("警告:
你的成绩太低了,需要加倍努力!
");
}
}
}
}
三、实验心得
通过了本次试验,我了解了Java中的数组定义、引用,使用字符串String类、StringBuffer类处理字符串的方法。