Java数组练习题带答案.docx
- 文档编号:16635481
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:14
- 大小:20.26KB
Java数组练习题带答案.docx
《Java数组练习题带答案.docx》由会员分享,可在线阅读,更多相关《Java数组练习题带答案.docx(14页珍藏版)》请在冰点文库上搜索。
Java数组练习题带答案
一填空题之五兆芳芳创作
1)数组的元素通过下标来拜访,数组Array的长度为.
2)数组复制时,"="将一个数组的引用传递给另一个数组.
3)JVM将数组存储在栈(堆或栈)中.
4)数组的二分查找法运用的前提条件是数组已经排序.
5)Java中数组的下标的数据类型是整型.
6)数组最小的下标是0.
7)arraycopy()的最后一个参数指明复制元素的个数.
8)向办法传递数组参数时,传递的是数组的引用.
9)数组初始化包含数组的申明,创建和初始化.
10)数组下标拜访超出索引规模时抛出数组越界异常
11)浮点型数组的默认值是.
12)数组创建后其大小不克不及改动.
二选择题
1.下面错误的初始化语句是_ABD__
A.charstr[]="hello";B.charstr[100]="hello";
C.charstr[]={'h','e','l','l','o'};D.charstr[]={'hello'};
2.定义了一维int型数组a[10]后,下面错误的引用是_B__A.a[0]=1;B.a[10]=2;C.a[0]=5*2;D.a[1]=a[2]*a[0];
3.下面的二维数组初始化语句中,正确的是____A.floatb[2][2]={0.1,0.2,0.3,0.4};B.inta[][]={{1,2},{3,4}};C.inta[2][]={{1,2},{3,4}};D.floata[2][2]={0};
4.引用数组元素时,数组下标可以是_D___A.整型常量B.整型变量C.整型表达式D.以上均可
5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____
A.24B.25C.18D.17
6.下列初始化字符数组的语句中,正确的是__B__A.charstr[5]="hello";B.charstr[]={'h','e','l','l','o','\0'};C.charstr[5]={"hi"};D.charstr[100]="";
7.数组在Java中储存在C中A.栈B.队列C.堆D.链表
8.下面程序的运行结果是____
main(){inta[][]={{1,2,3},{4,5,6}};
System.out.printf("%d",a[1][1]);
}
A.3B.4C.5D.6
9.下面程序的运行结果是_C___main(){
intx=30;
int[]numbers=newint[x];
x=60;
System.out.println(numbers.length);}
10.下面程序的运行结果是__BDF__main(){chars1[]="ABCDEF".toCharArray();inti=0;while(s1[i++]!
='\0')
System.out.println(s1[i++]);}
A.ABCDEFB.BDFC.ABCDED.BCDE
11.下面 不是创建数组的正确语句CA.float f[][]=new float[6][6]; B.float f[]=new float[6];C.float f[][]=new float[][6]; D.float [][]f=new float[6][];
12.下面不是数组复制办法的是(C)
A.用循环语句逐个复制数组B.用办法arraycopy
C.用"="进行复制D.用clone办法
13.数组a的第三个元素暗示为D
A.a(3)B.a[3]C.a
(2)D.a[2]
14.当拜访无效的数组下标时,会产生B
A.中止程序B.抛出异常C.系统解体D.直接跳过
15.使用arraycopy()办法将数组a复制到b正确的是A
A.arraycopy(a,0,b,0,a.length)B.arraycopy(a,0,b,0,b.length)
C..arraycopy(b,0,a,0,a.length)D.arraycopy(a,1,b,1,a.length)
16.关于数组默认值,错误的是B
A.char--'"u0000'B.Boolean--trueC.float--0.0fD.int--0
17.关于数组作为办法的参数时,向办法传递的是A
A.数组的引用B.数组的栈地址C.
18.关于数组复制,下列说法错误的是AC
A."="可以实现数组复制
B.运用循环语句进行数组复制必须两个数组长度相同
C.arraycopy()办法没有给目标数组分派内存空间
19.下列语句会造成数组newint[10]越界是D
A.a[0]+=9;B.a[9]=10;C.—a[9]D.for(inti=0;i<=10;i++)a[i]++;
20.在JDK情况下编译JAVA源程序使用的命令是(B)
D.子类不克不及使用父类的机关办法
21.main办法是java Application 程序执行的入口点.关于main办法放入办法以下正当的是()
A. public static void main();B. public static void main(String[]args)C. public static int main(String[] arg)D. public void main(String arg[])
22.执行完代码"int[]x=new int[25];"后以下(A)说明正确的
A.x[24]为0 B.x[24]未定义C.x[25]为0 D.x[0]为空
23.关于数组排序办法,错误的是C
A.选择排序B.拔出排序C.二分排序D.用arrays.sort()排序
24.关于char类型的数组,说法正确的是D
A.其数组的默认值是'A'
C.
25.对于数组a[10],下列暗示错误的是B
A.a[0]B.a(0)C.a[9]D.a[1]
26.下列数组声明,下列暗示错误的是
A.int[]aB.inta[]C.int[][]aD.int[]a[]
三、是非题
1.下标用于指出数组中某个元素位置的数字.()
2.把数组中元素按某种顺序排列的进程叫做查找.()
3.确定数组中是否含有某个关头字的进程叫做排序.()
4.一个数组可以存放许多不合类型的数值.()
5.数组的下标通常是float型.()
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.数组下标的类型是什么?
最小的下标是什么?
一维数组a的第三个元素如何暗示?
4.数组越界拜访会产生什么错误?
怎样避免该错误?
5.给办法传递数组参数与传递根本数据类型变量的值有何不合?
6.复制数组有哪些办法?
8.声明数组变量会为数组分派内存空间吗?
为什么?
五、程序题
1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19.请将该序列倒序存放并输出.
1)publicclassTest{
2)publicstaticvoidmain(String[]args){
3)inta[]={1,3,5,7,9,11,13,15,17,19};
4)intt;
5)System.out.println("数组的初始状态为:
");
6)for(inti=0;i 7)System.out.print(""+a[i]); 8)System.out.println(); 9)for(inti=0;i 10)t=a[i]; 11)a[i]=a[a.length-i-1]; 12)a[a.length-i-1]=t; 13)} 14)System.out.println("数组逆序存放后的状态为: "); 15)for(inti=0;i 16)System.out.print(""+a[i]); 17)} 18)} 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)currentMaxIndex=j; 20)} 21)} 22)if(currentMaxIndex! =i){ 23)scores[currentMaxIndex]=scores[i]; 24)scores[i]=currentMax; 25)Stringtemp=names[currentMaxIndex]; 26)names[currentMaxIndex]=names[i]; 27)names[i]=temp; 28)} 29)} 30)for(inti=scores.length-1;i>=0;i--){ 31)System.out.println(names[i]+"\t"+scores[i]); 32)} 33)} 34)} 3.编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出. 1)importjavax.swing.JOptionPane; 2)publicclassexercise5{ 3)privatestaticintj=0; 4)publicstaticvoidmain(String[]args){ 5)int[]arrayInt=newint[10]; 6)inti=0; 7)do{ 8)StringnumberString=JOptionPane 9).showInputDialog("Enteranumber: "); 10)intnumber=Integer.parseInt(numberString); 11)if(isNotHave(arrayInt,number)){ 12)arrayInt[i]=number; 13)i++; 14)j++; 15)} 16)else 17){ 18)do{ 19)numberString=JOptionPane 20).showInputDialog("Thisnumberisexit,enteraanothernumber: "); 21)number=Integer.parseInt(numberString); 22)}while(! isNotHave(arrayInt,number)); 23)arrayInt[i]=number; 24)i++; 25)j++; 26)} 27)}while(i 28)Stringoutput=""; 29)for(intk: arrayInt){ 30)output+=k+""; 31)} 32)JOptionPane.showMessageDialog(null,"TheelementsofarrayIntis" 33)+output,"outputarrayInt",JOptionPane.INFORMATION_MESSAGE); 34)} 35)publicstaticbooleanisNotHave(int[]arrayInt,intn){ 36)for(inti=0;i 37)if(arrayInt[i]==n) 38)returnfalse; 39)} 40)returntrue; 41)} 42)} 4.先对数组{1,3,9,5,6,7,1,5,4,8}进行排序,然后二分查找法找出数组中的元素8,标出其排序后其下标的位置. 1)publicclassTest{ 2)publicstaticvoidmain(String[]args){ 3)intnumbers[]={1,3,9,5,6,7,1,5,4,8}; 4)java.util.Arrays.sort(numbers); 5)System.out.println("排序后的数组为: "); 6)for(inti=0;i 7)System.out.print(""+numbers[i]); 8)System.out.println(); 9)intn=binarySearch(numbers,8); 10)System.out.println("数字8的位置为: "+n); 11)} 12)publicstaticintbinarySearch(int[]list,intkey){ 13)intlow=0; 14)inthigh=list.length-1; 15)intmid=0; 16)while(high>low){mid=(mid==(low+high)/2)? 17)(mid+1): ((low+high)/2); 18)if(key 19)high=mid-1; 20)elseif(key==list[mid]) 21)returnmid; 22)else 23)low=mid-1; 24)} 25)return-low-1; 26)} 27)} 5.编写一个程序,读入数目确定的考试分数,并且判断有多少个分数高于或等于平均分,有多少个分数低于平均分.输入一个正数标记输入结束,假定最高分为100. 1)importjavax.swing.JOptionPane; 2)publicclassTest{ 3)publicstaticvoidmain(String[]args){ 4)double[]scores=newdouble[100]; 5)doublesum=0; 6)intcount=0; 7)do{ 8)StringscoreString= 9)JOptionPane.showInputDialog(null,"Enteranewscore"); 10)scores[count]=Double.parseDouble(scoreString); 11)sum+=scores[count]; 12)}while(scores[count++]>=0); 13)doubleaverage=(sum-scores[count])/(count-1); 14)intnumOfAbove=0; 15)intnumOfBelow=0; 16)for(inti=0;i 17)if(scores[i]>=average) 18)numOfAbove++; 19)else 20)numOfBelow++; 21)System.out.println("Averageis"+average); 22)System.out.println("Numberofscoresaboveorequaltotheaverage" 23)+numOfAbove); 24)System.out.println("Numberofscoresbelowtheaverage" 25)+numOfBelow); 26)System.exit(0); 27)} 28)} 6.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数. 1)publicclassexercise7{ 2)publicstaticvoidmain(String[]args){ 3)int[]numbers=newint[100]; 4)int[]counts=newint[10]; 5)intk; 6)for(inti=0;i<100;i++) 7){ 8)numbers[i]=(int)(Math.random()*10); 9)counts[numbers[i]]++; 10)} 11)System.out.println("the100numbersis: "); 12)for(inti=1;i<=numbers.length;i++) 13){ 14)if(i%10! =0) 15)System.out.print(numbers[i-1]+""); 16)else 17)System.out.println(numbers[i-1]); 18)} 19)System.out.println("thecountsofeachnumberis: "); 20)for(inti=1;i<=counts.length;i++) 21)System.out.print(counts[i-1]+""); 22)} 23)} 7.求平均值和方差.利用mean(int[]numbers)求平均值,利用deviation(int[]numbers)求尺度差. 1)importjava.util.Scanner; 2)publicclassMeanDeviation{ 3)publicstaticvoidmain(String[]args){ 4)Scannerin=newScanner(System.in); 5)System.out.print("输入数组的长度: "); 6)intn=in.nextInt(); 7)System.out.print("输入数组元素: "); 8)int[]array=newint[n]; 9)for(inti=0;i 10){ 11)array[i]=in.nextInt(); 12)} 13)System.out.print("Themeanis: "+mean(array)+"\n" 14)+"Thedeviationis: "+deviation(array)); 15)} 16)publicstaticdoublemean(int[]numbers) 17){ 18)doublesum=0.0; 19)for(inti=0;i 20){ 21)sum+=numbers[i]; 22)} 23)returnsum/numbers.length; 24)} 25)publicstaticdoubledeviation(int[]numbers) 26){ 27)doublepowSum=0.0; 28)for(inti=0;i 29){ 30)powSum+=Math.pow(numbers[i]-mean(numbers),2); 31)} 32)returnMath.sqrt(powSum/(numbers.length-1)); 33)} 34)} 8.编写一个程序,求出整数数组中最小元素的下标.如果这样的元素个数大于1,则前往下标最小的数的下标. 1)publicclassMinIndex{ 2)publicstaticvoidm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 数组 练习题 答案