JAVA实验报告数组.docx
《JAVA实验报告数组.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告数组.docx(8页珍藏版)》请在冰豆网上搜索。
JAVA实验报告数组
JAVA实验报告-数组
4、实验分析
数组变量ab中分别存放着引用,System.out.println(a)可以输出数组a的引用。
对于一维数组,“数组名.length”的值是数组的元素个数,对于二维数组,它的值是该数组含有的一维数组的个数。
5、实验练习
(1)在程序的【代码4】之后增加语句“a[3]=200;”,编译是否有错?
运行是否有错?
答:
编译没错。
运行出错。
(2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。
(3)在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。
实验三
1、实验题目
编写一个Java应用,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组a的全部元素。
2、程序代码
importjava.util.Arrays;
publicclassCopyArray{
publicstaticvoidmain(String[]args){
int[]a={1,2,3,4,500,600,700,800};
int[]b,c,d;
System.out.println(Arrays.toString(a));
b=Arrays.copyOf(a,a.length);
System.out.println(Arrays.toString(b));
c=Arrays.copyOf(a,4);
System.out.println(Arrays.toString(c));
d=Arrays.copyOfRange(a,4,8);
System.out.println(Arrays.toString(d));
c[c.length-1]=-100;
d[d.length-1]=-200;
System.out.println(Arrays.toString(a));
}
}
3、实验结果
4、实验分析
答:
学会了用Arrays类调用,Array.toString(a)遍历数组,copyOf以及copyOfRange复制到新的数组。
5、实验练习
(1)在程序的【代码4】之后增加语句:
int[]tom=Arrays.copyOf(c,6);
System.out.println(Arrays.toString(tom));
(2)在程序的最后一个语句之后增加语句:
int[]jerry=Arrys.copyOf(d,1,8);
System.out.println(Arrays.toString(jerry));
答:
无法编译,会出现copyOf(int[],int,int)找不到合适的方法提示。
实验四
1、实验题目
用Scanner类读入杨辉三角的行数并输出相应的杨辉三角。
2、程序代码
importjava.util.Scanner;
publicclassyanghui{
publicstaticvoidmain(Stringargs[]){
System.out.print("请输入数字:
");
intnumber;
Scanners=newScanner(System.in);
Stringinput=s.next();
try{
number=Integer.parseInt(input);
}catch(Exceptione){
System.out.println("输入的不是整数");
return;
}
intlength=number*2-1;
long[][]array=newlong[number][length];
array[0][length/2]=1;
for(inti=2;i<=array.length;i++){
for(intj=0;jif(j-1<0){
array[i-1][j]=array[i-2][j+1];
continue;
}
if(j+1>=length){
array[i-1][j]=array[i-2][j-1];
continue;
}
if(array[i-2][j-1]>0||array[i-2][j+1]>0){
array[i-1][j]=array[i-2][j-1]+array[i-2][j+1];
continue;
}
}
}
longmax=0;
for(inti=0;ifor(intj=0;jif(array[i][j]>max){
max=array[i][j];
}
}
}
intweishu=(max+"").length();
for(inti=0;ifor(intj=0;jprint(weishu,array[i][j]);
}
System.out.println();
}
}
privatestaticvoidprint(longweishu,longshow){
intshowWeishu=(show+"").length();
for(inti=0;i<(weishu-showWeishu)/2;i++){
System.out.print("");
}
if(show==0){
System.out.print("");
}else{
System.out.print(show);
}
for(inti=0;iSystem.out.print("");
}
}
}
3、实验结果