Java数组测习题(带答案)
精心整理一填空题
1)数组的元素通过下标来访问,数组Array的长度为Array.length。
2)数组复制时,"="将一个数组的引用传递给另一个数组。
3)JVM将数组存储在栈(堆或栈)中。
4)数组的二分查找法运用的前提条件是数组已经排序。
5)Java中数组的下标的数据类型是整型。
6)数组最小的下标是0。
7)
8)
9)
10)
11)
12)
1.
2.
3.
4.
5.
6.
7.
8.A.
9.
10.
11.A
12.C.charstr[5]={"hi"}; D.charstr[100]="";
13.数组在Java中储存在C中
14.A.栈 B.队列 C.堆 D.链表
15.下面程序的运行结果是____
main(){
inta[][]={{1,2,3},{4,5,6}};
}
A.3
B.4
C.5
D.6
16.下面程序的运行结果是_C___
17.m ain(){
intx=30;
int[]numbers=newint[x];
x=60;
(numbers.length);
}
A.60
B.20
C.30
D.50
18.
19.m
20.c
21.i
22.w
23.
24.A
25.C
26.
A.
C.用
27.
28.
A.
29.
30.
A.char--'"u0000'
B.Boolean--true
C.float--0.0f
D.int--0
31.关于数组作为方法的参数时,向方法传递的是A
A.数组的引用
B.数组的栈地址
C.数组自身
D.数组的元素
32.关于数组复制,下列说法错误的是AC
A."="可以实现数组复制
B.运用循环语句进行数组复制必须两个数组长度相同
C.arraycopy()方法没有给目标数组分配内存空间
D.数组复制是数组引用的传递
33.下列语句会造成数组newint[10]越界是D
A.a[0]+=9;
B.a[9]=10;
C.—a[9]
D.for(inti=0;i<=10;i++)a[i]++;
34.在JDK环境下编译JAVA源程序使用的命令是(B)
A.java
B.javac
C.jvm
D.tomcat
D.子类不能使用父类的构造方法
35.m ain方法是java??Application??程序执行的入口点。关于main方法放入方法以下
合法的是()
A.??public??static??void??main();
B.??public??static??void??main(String[]args)
36.
37.
A.
38.
A.
C.
39.
40.
1.
2.
3.
4.
5.
6.这
7.
8.数组由具有一名字和相同类型的一组连续内存单元构成。()
9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能由用户来决定。()
10.将一个数组传递给一个方法,必须加在数组名后加方括号。()
11.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。()
12.下面这条语句正确吗?()
double[]myList;
myList={1.9,2.9,3.5,4.6};
14.数组中有length()这个方法,如array.length()表示数组array中元素的个数()
15.下面这条语句正确吗?()
intt[3][2]={{1,2},{3,4},{5,6}};
16.数组声明后其大小固定。()
17.设有整型数组的定义:intA.[]=newint[8];,则a.length的值为7。()
18.数组一旦创建,其大小不能再改变。()
19.用任何方式创建数组时,都必须指定数组的长度。()
20.声明数组时,要指定数组长度,以便为数组分配内存。()
四、简答题
1.
2.
3.
示?
4.
5.
6.
8.
1.
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)}
2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。
1)publicclassexercise16{
2)publicstaticvoidmain(String[]args){
3)StringnumberString=
4)JOptionPane.showInputDialog("Enterthenumberofstudents");
5)intnumberOfStudents=Integer.parseInt(numberString);
6)String[]names=newString[numberOfStudents];
7)double[]scores=newdouble[numberOfStudents];
8)for(inti=0;i 9)names[i]=JOptionPane.showInputDialog("Enterastudentname"); 10)scores[i]=Double.parseDouble( 11)JOptionPane.showInputDialog("Enterastudentscore")); 12)} 13)for(inti=scores.length-1;i>=1;i--){ 14)doublecurrentMax=scores[0]; 15)intcurrentMaxIndex=0; 16)for(intj=1;j<=i;j++){ 17)if(currentMax 18)currentMax=scores[j]; 19) 20)} 21)} 22) 23) 24) 25) 26) 27) 28)} 29)} 30) 31)} 32)} 33)} 3. 10 1) 2) 3) 4) 5) 6) 7) 8).showInputDialog("Enteranumber:"); 9)intnumber=Integer.parseInt(numberString); 10)if(isNotHave(arrayInt,number)){ 11)arrayInt[i]=number; 12)i++; 13)j++; 14)} 15)else 16){ 17)do{ 18)numberString=JOptionPane 19).showInputDialog("Thisnumberisexit,enteraanothernumber:"); 20)number=Integer.parseInt(numberString); 21)}while(!isNotHave(arrayInt,number)); 22)arrayInt[i]=number; 23)i++; 24)j++; 25)} 26)}while(i 27)Stringoutput=""; 28)for(intk:arrayInt){ 29) 30) 31) 32) 33) 34) 35) 36) 37) 38) 39) 40) 41)} 4. 1) 2) 3) 4) 5) 6) 7) 8) 9) 10)intmid=0; 11)while(high>low){ mid=(mid==(low+high)/2)? 12)(mid+1):((low+high)/2); 13)if(key 14)high=mid-1; 15)elseif(key==list[mid]) 16)returnmid; 17)else 18)low=mid-1; 19)} 20)return-low-1; 21)} 22)} 5.编写一个程序,读入数目确定的考试分数,并且判断有多少个分数高于或等于平均分,有多少个分数低于平均分。输入一个负数标志输入结束,假设最高分为100。 1)publicclassTest{ 2)publicstaticvoidmain(String[]args){ 3)double[]scores=newdouble[100]; 4)doublesum=0; 5)intcount=0; 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23)} 24)} 6. 1) 2) 3) 4) 5) 6)for(inti=0;i<100;i++) 7){ 8)numbers[i]=(int)(Math.random()*10); 9)counts[numbers[i]]++; 10)} 11)for(inti=1;i<=numbers.length;i++) 12){ 13)if(i%10!=0) 14)else 15)} 16)for(inti=1;i<=counts.length;i++) 17)} 18)} 7.求平均值和方差。利用mean(int[]numbers)求平均值,利用deviation(int[]numbers)求标准差。 1)publicclassMeanDeviation{ 2)publicstaticvoidmain(String[]args){ 3)Scannerin=newScanner(System.in); 4)intn=in.nextInt(); 5)int[]array=newint[n]; 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30)} 8.编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回下标最小的数的下标。 1)publicclassMinIndex{ 2)publicstaticvoidmain(String[]args){ 3)int[]list={1,2,4,5,10,100,2,-22}; 4)} 5)publicstaticintminIndex(int[]list){ 6)intmin=list[0]; 7)intminIndex=0; 8)for(inti=1;i 9)if(min>list[i]){ 10)min=list[i]; 11)minIndex=i; 12)} 13)returnminIndex; 14)} 15)