实验20501439李敏杰.docx
- 文档编号:24673639
- 上传时间:2023-05-30
- 格式:DOCX
- 页数:13
- 大小:67.78KB
实验20501439李敏杰.docx
《实验20501439李敏杰.docx》由会员分享,可在线阅读,更多相关《实验20501439李敏杰.docx(13页珍藏版)》请在冰豆网上搜索。
实验20501439李敏杰
课程名称
面向对象程序设计
实验项目编号
1505P001802
实验项目名称
数组、字符串和常用类的使用
实验学时
2学时
实验日期
2016.9.20
成绩
学生学号
学生姓名
李敏杰
实验地点
敬信楼517
指导教师
党向盈
实验二数组字符串和常用类的使用
一、实验目的
1. 掌握数组的声明、分配空间及初始化 ;
2. 理解多维数组(重点掌握二维);
3. 掌握String类的特点及常用方法的使用 ;
4. 掌握StringBuffer类的特点及常用方法的使用 ;
5. 掌握String类和StringBuffer类的区别 ;
6. 理解equal方法与==的区别;
7. 掌握常用类的使用
二、实验内容及要求
要求:
(1)实验中类名的定义规则见实验一要求;
(2)程序中要有相应的注释说明
(3)变量名要见名识意,代码要求规范,左缩进。
1、定义一个6行6列的二维整型数组,输出该二维数组中的每行和每列的最大值、最小值、和平均值。
(知识点:
数组的创建、初始化和元素访问)
要求:
(1)数组元素的值随机产生,大小为20值99之间;
(2)输出结果按下面表格的形式输出。
每行,每列后面输出和、平均值、最大值和最小值,其中平均值保留小数点1位。
98
44
55
64
84
27
|
sum
avg
min
max
67
53
75
91
74
64
|
67
64
83
62
39
27
|
81
45
26
98
24
55
|
56
34
64
60
97
32
|
66
39
28
22
77
98
|
--------------------------------
sum
avg
min
max
代码如下:
package实验二;
publicclassExp02_01_20130501439{
/**
*班级:
15计单1班
*学号:
20130501439
*姓名:
李敏杰
*实验时间:
2016-9-20
*本程序的功能是:
输出该二维数组中的每行和每列的最大值、最小值、和平均值
*/
publicstaticvoidmain(String[]args){
//TODO自动生成的方法存根
inti,j,sum1=0,sum2=0,k,max=0,min=100;
doubleavg;
int[][]a=newint[12][12];
System.out.println("\t(20值99之间)\t\t6x6列表如下:
\t\tsum\tavg\tmin\tmax");
for(i=0;i<6;i++){
max=0;
min=100;
for(j=0;j<6;j++){
do{
k=(int)(Math.random()*100);//随机生成0-100的整数
}while(k<20||k>99);
if(k>max)
max=k;
if(k min=k; a[i][j]=k; System.out.print("\t"+a[i][j]); sum1=sum1+a[i][j]; } System.out.print("|"); System.out.print("\t"+sum1); avg=Math.round(((sum1*1.0)/6)*10)/(10*1.0);//P.192 System.out.print("\t"+avg); System.out.print("\t"+min); System.out.print("\t"+max); System.out.print("\n"); sum1=0; } int[]max1=newint[6]; int[]min1={100,100,100,100,100,100}; System.out.print("\t"); for(j=0;j<6;j++) System.out.print("——\t"); System.out.print("\n"); System.out.print("sum"); double[]avg1=newdouble[6]; for(i=0;i<6;i++){ max1[i]=0; min1[i]=100; for(j=0;j<6;j++){ sum2=sum2+a[j][i]; if(a[j][i]>max1[i]) max1[i]=a[j][i]; if(a[j][i] min1[i]=a[j][i]; avg1[i]=Math.round(((sum2*1.0)/6)*10)/(10*1.0);//P.192 } System.out.print("\t"+sum2); sum2=0; } System.out.print("\navg"); for(i=0;i<6;i++){ System.out.print("\t"+avg1[i]); } System.out.print("\nmin"); for(i=0;i<6;i++){ System.out.print("\t"+min1[i]); } System.out.print("\nmax"); for(i=0;i<6;i++){ System.out.print("\t"+max1[i]); } } } 运行结果如下: 2、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 (知识点: 数组定义和创建、数组遍历、数组元素访问) 例如1234567移动4个就变成4567123 要求: (1)n和m的值由用户输入; (2)每个元素的值由用户输入; (3)利用Scanner类完成数值的输入。 Scannerinput=newScanner(System.in); System.out.println(“请输入数组元素的个数”); intsize=input.nextInt(); 代码如下: package实验二; importjava.util.Scanner; publicclassExp02_02_20130501439{ /** *班级: 15计单1班 *学号: 20130501439 *姓名: 李敏杰 *实验时间: 2016-9-20 *本程序的功能是: n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 */ publicstaticvoidmain(String[]args){ //TODO自动生成的方法存根 intn,m; Scannernn=newScanner(System.in); System.out.print("输入n的值: "); n=nn.nextInt(); int[]a=newint[n]; System.out.print("输入m的值: 注m的值小于n的值"); m=nn.nextInt(); while(m>n){ System.out.println("请从新输入m的值: "); m=nn.nextInt(); } System.out.println("请输入数组a的元素: "); for(inti=0;i a[i]=nn.nextInt(); } System.out.println("a的元素为: "); for(inti=0;i System.out.print(a[i]+"\t"); } System.out.println("\n后移m个位子后的数组a的元素为: "); intt,j; for(inti=0;i t=a[0]; for(j=0;j a[j]=a[j+1]; a[j]=t; //System.out.print(a[j]); } for(inti=0;i System.out.print(a[i]+"\t"); } } //有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 (知识点: 数组定义和创建、数组遍历、数组元素访问) //例如1234567移动4个就变成4567123 //要求: (1)n和m的值由用户输入; // (2)每个元素的值由用户输入; //(3)利用Scanner类完成数值的输入。 } 运行结果如下: 3、有2个多维数组分别是234和1528 4685910-3 27-5-18 按照如下方式进行运算。 生成一个2行4列的数组。 此数组的第1行1列是2*1+3*5+4*2 第1行2列是2*5+3*9+4*7第2行1列是4*1+6*5+8*2依次类推。 (知识点: 多维数组定义和创建、数组遍历、数组元素访问) 代码如下: package实验二; publicclassExp02_03_20130501439{ /** *班级: 15计单1班 *学号: 20130501439 *姓名: 李敏杰 *实验时间: 2016-9-20 *本程序的功能是: 按题目方法输出数组,维数组定义和创建、数组遍历、数组元素访问 */ publicstaticvoidmain(String[]args){ //TODO自动生成的方法存根 inti,j; int[][]a={{2,3,4},{4,6,8}}; int[][]b={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}}; int[][]c=newint[2][4]; for(i=0;i<2;i++){ for(intk=0;k<4;k++){ c[i][k]=0; for(j=0;j<3;j++){ c[i][k]+=a[i][j]*b[j][k]; } System.out.print(c[i][k]+"\t"); } System.out.println(); } } //有2个多维数组分别是234和1528 //4685910-3 //27-5-18 //按照如下方式进行运算。 生成一个2行4列的数组。 //此数组的第1行1列是2*1+3*5+4*2 //第1行2列是2*5+3*9+4*7第2行1列是4*1+6*5+8*2依次类推。 (知识点: 多维数组定义和创建、数组遍历、数组元素访问) } 运行结果如下: 4、编写一个Java程序,完成以下功能: (知识点: String创建和String常用方法的使用,注意查看JavadocAPI) (1)声明一个名为school的String对象,内容是 “My schoolisXuzhouInstituteOfTechnology” (2)打印字符串的长度; (3)打印字符串的第一个字符和最后一个字符; (4)打印字符串的第一个单词和最后一个单词; (5)打印”Xuzhou”在该字符串的起始位置(从0开始编号的位置); (6)将该字符串转为大写字母输出 代码如下: package实验二; importjava.io.*; publicclassExp02_04_20130501439{ /** *班级: 15计单1班 *学号: 20130501439 *姓名: 李敏杰 *实验时间: 2016-9-20 *本程序的功能是: String创建和String常用方法的使用 */ publicstaticvoidmain(String[]args)throwsIOException{ //TODO自动生成的方法存根 Stringschool; BufferedReaderstr; str=newBufferedReader(newInputStreamReader(System.in)); System.out.println("请输入: My schoolisXuzhouInstituteOfTechnology"); school=str.readLine(); //Stringschool=newString("My schoolisXuzhouInstituteOfTechnology"); System.out.println("字符串的长度为: "+school.length()); System.out.println("字符串一个字符是: "+school.charAt(0)+"字符串的最后一个字符是: "+school.charAt(school.length()-1)); System.out.println("字符串的第一个单词为: "+school.substring(0,2)+"\n字符串的最后一个单词为: "+school.substring(33,school.length())); System.out.println("”Xuzhou”在该字符串的起始位置为: "+school.indexOf("Xuzhou",0)); System.out.println("字符串转为大写字母为: "+school.toUpperCase()); } //编写一个Java程序,完成以下功能: (知识点: String创建和String常用方法的使用,注意查看JavadocAPI) // (1)声明一个名为school的String对象,内容是 //“My schoolisXuzhouInstituteOfTechnology” // (2)打印字符串的长度; //(3)打印字符串的第一个字符和最后一个字符; //(4)打印字符串的第一个单词和最后一个单词; //(5)打印”Xuzhou”在该字符串的起始位置(从0开始编号的位置); //(6)将该字符串转为大写字母输出 } 运行结果如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 20501439 李敏杰