实验20501439李敏杰教学内容Word格式文档下载.docx
《实验20501439李敏杰教学内容Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验20501439李敏杰教学内容Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
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
83
62
39
81
45
26
24
56
34
60
97
32
66
28
22
77
--------------------------------
代码如下:
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<
j++){
do{
k=(int)(Math.random()*100);
//随机生成0-100的整数
}while(k<
20||k>
99);
if(k>
max)
max=k;
if(k<
min)
min=k;
a[i][j]=k;
System.out.print("
\t"
+a[i][j]);
sum1=sum1+a[i][j];
}
System.out.print("
|"
+sum1);
avg=Math.round(((sum1*1.0)/6)*10)/(10*1.0);
//P.192
+avg);
+min);
+max);
\n"
sum1=0;
}
int[]max1=newint[6];
int[]min1={100,100,100,100,100,100};
System.out.print("
for(j=0;
j++)
——\t"
sum"
double[]avg1=newdouble[6];
max1[i]=0;
min1[i]=100;
sum2=sum2+a[j][i];
if(a[j][i]>
max1[i])
max1[i]=a[j][i];
if(a[j][i]<
min1[i])
min1[i]=a[j][i];
avg1[i]=Math.round(((sum2*1.0)/6)*10)/(10*1.0);
+sum2);
sum2=0;
\navg"
+avg1[i]);
\nmin"
+min1[i]);
\nmax"
+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();
importjava.util.Scanner;
publicclassExp02_02_20130501439{
n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
intn,m;
Scannernn=newScanner(System.in);
输入n的值:
"
n=nn.nextInt();
int[]a=newint[n];
输入m的值:
注m的值小于n的值"
m=nn.nextInt();
while(m>
n){
System.out.println("
请从新输入m的值:
请输入数组a的元素:
"
for(inti=0;
n;
a[i]=nn.nextInt();
a的元素为:
System.out.print(a[i]+"
\n后移m个位子后的数组a的元素为:
intt,j;
for(inti=0;
i<
m;
i++){
t=a[0];
for(j=0;
j<
n-1;
j++)
a[j]=a[j+1];
a[j]=t;
//System.out.print(a[j]);
//有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
//例如1234567移动4个就变成4567123
//要求:
//
(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依次类推。
多维数组定义和创建、数组遍历、数组元素访问)
publicclassExp02_03_20130501439{
/**
按题目方法输出数组,维数组定义和创建、数组遍历、数组元素访问
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;
2;
for(intk=0;
k<
4;
k++){
c[i][k]=0;
for(j=0;
3;
j++){
c[i][k]+=a[i][j]*b[j][k];
System.out.print(c[i][k]+"
System.out.println();
//有2个多维数组分别是234和1528
//4685910-3
//27-5-18
//按照如下方式进行运算。
//此数组的第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)将该字符串转为大写字母输出
importjava.io.*;
publicclassExp02_04_20130501439{
String创建和String常用方法的使用
publicstaticvoidmain(String[]args)throwsIOException{
Stringschool;
BufferedReaderstr;
str=newBufferedReader(newInputStreamReader(System.in));
System.out.println("
请输入:
My
schoolisXuzhouInstituteOfTechnology"
school=str.readLine();
//Stringschool=newString("
字符串的长度为:
+school.length());
字符串一个字符是:
+school.charAt(0)+"
字符串的最后一个字符是:
+school.charAt(school.length()-1));
字符串的第一个单词为:
+school.substring(0,2)+"
\n字符串的最后一个单词为:
+school.substring(33,school.length()));
”Xuzhou”在该字符串的起始位置为:
+school.indexOf("
Xuzhou"
0));
字符串转为大写字母为:
+school.toUpperCase());
//编写一个Java程序,完成以下功能:
//
(1)声明一个名为school的String对象,内容是
//“My
//
(2)打印字符串的长度;
//(3)打印字符串的第一个字符和最后一个字符;
//(4)打印字符串的第一个单词和最后一个单词;
//(5)打印”Xuzhou”在该字符串的起始位置(从0开始编号的位置);
//(6)将该字符串转为大写字母输出