Java数组练习题带答案Word格式.docx

上传人:b****4 文档编号:7023435 上传时间:2023-05-07 格式:DOCX 页数:16 大小:21.57KB
下载 相关 举报
Java数组练习题带答案Word格式.docx_第1页
第1页 / 共16页
Java数组练习题带答案Word格式.docx_第2页
第2页 / 共16页
Java数组练习题带答案Word格式.docx_第3页
第3页 / 共16页
Java数组练习题带答案Word格式.docx_第4页
第4页 / 共16页
Java数组练习题带答案Word格式.docx_第5页
第5页 / 共16页
Java数组练习题带答案Word格式.docx_第6页
第6页 / 共16页
Java数组练习题带答案Word格式.docx_第7页
第7页 / 共16页
Java数组练习题带答案Word格式.docx_第8页
第8页 / 共16页
Java数组练习题带答案Word格式.docx_第9页
第9页 / 共16页
Java数组练习题带答案Word格式.docx_第10页
第10页 / 共16页
Java数组练习题带答案Word格式.docx_第11页
第11页 / 共16页
Java数组练习题带答案Word格式.docx_第12页
第12页 / 共16页
Java数组练习题带答案Word格式.docx_第13页
第13页 / 共16页
Java数组练习题带答案Word格式.docx_第14页
第14页 / 共16页
Java数组练习题带答案Word格式.docx_第15页
第15页 / 共16页
Java数组练习题带答案Word格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java数组练习题带答案Word格式.docx

《Java数组练习题带答案Word格式.docx》由会员分享,可在线阅读,更多相关《Java数组练习题带答案Word格式.docx(16页珍藏版)》请在冰点文库上搜索。

Java数组练习题带答案Word格式.docx

A.charstr[5]="

B.charstr[]={'

\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___

intx=30;

int[]numbers=newint[x];

x=60;

System.out.println(numbers.length);

A.60B.20C.30D.50

10.下面程序的运行结果是__BDF__

chars1[]="

ABCDEF"

.toCharArray();

inti=0;

while(s1[i++]!

='

System.out.println(s1[i++]);

A.ABCDEFB.BDFC.ABCDED.BCDE

11.下面 

不是创建数组的正确语句C

A.float 

f[][]=new 

float[6][6];

 

B.float 

f[]=new 

float[6];

C.float 

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.数组自身D.数组的元素

18.关于数组复制,下列说法错误的是AC

A."

可以实现数组复制

B.运用循环语句进行数组复制必须两个数组长度相同

C.arraycopy()方法没有给目标数组分配内存空间

D.数组复制是数组引用的传递

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)

A.javaB.javacC.jvmD.tomcat

D.子类不能使用父类的构造方法

21.main方法是java 

Application 

程序执行的入口点。

关于main方法放入方法以下合法的是()

A. 

public 

static 

void 

main();

B. 

main(String[]args)

C. 

int 

main(String[] 

arg)D. 

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'

B.可以仅通过数组名来访问数组

C.数组不能转换为字符串D.可以存储整型数值

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<

a.length;

i++)

7)System.out.print("

"

+a[i]);

8)System.out.println();

9)

10)for(inti=0;

a.length/2;

i++){

11)t=a[i];

12)a[i]=a[a.length-i-1];

13)a[a.length-i-1]=t;

14)}

15)

16)System.out.println("

数组逆序存放后的状态为:

17)for(inti=0;

18)System.out.print("

19)}

20)}

2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。

1)publicclassexercise16{

3)StringnumberString=

4)JOptionPane.showInputDialog("

Enterthenumberofstudents"

5)intnumberOfStudents=Integer.parseInt(numberString);

6)

7)String[]names=newString[numberOfStudents];

8)double[]scores=newdouble[numberOfStudents];

9)

10)for(inti=0;

scores.length;

11)names[i]=JOptionPane.showInputDialog("

Enterastudentname"

12)scores[i]=Double.parseDouble(

13)JOptionPane.showInputDialog("

Enterastudentscore"

));

14)}

15)

16)for(inti=scores.length-1;

i>

=1;

i--){

17)doublecurrentMax=scores[0];

18)intcurrentMaxIndex=0;

19)

20)for(intj=1;

j<

=i;

j++){

21)if(currentMax<

scores[j]){

22)currentMax=scores[j];

23)currentMaxIndex=j;

24)}

25)}

26)

27)if(currentMaxIndex!

=i){

28)scores[currentMaxIndex]=scores[i];

29)scores[i]=currentMax;

30)Stringtemp=names[currentMaxIndex];

31)names[currentMaxIndex]=names[i];

32)names[i]=temp;

33)}

34)}

35)

36)for(inti=scores.length-1;

=0;

37)System.out.println(names[i]+"

\t"

+scores[i]);

38)}

39)}

40)}

3.编写一个程序,使它能够读入10个整数,并且存储其中互不相同的数,最后将这10个数输出。

1)importjavax.swing.JOptionPane;

2)

3)publicclassexercise5{

4)privatestaticintj=0;

5)

6)publicstaticvoidmain(String[]args){

7)int[]arrayInt=newint[10];

8)inti=0;

10)do{

11)StringnumberString=JOptionPane

12).showInputDialog("

Enteranumber:

13)

14)intnumber=Integer.parseInt(numberString);

15)

16)if(isNotHave(arrayInt,number)){

17)arrayInt[i]=number;

18)i++;

19)j++;

20)}

21)else

22){

23)do{

24)numberString=JOptionPane

25).showInputDialog("

Thisnumberisexit,enteraanothernumber:

26)number=Integer.parseInt(numberString);

27)}while(!

isNotHave(arrayInt,number));

28)

29)arrayInt[i]=number;

30)i++;

31)j++;

32)}

33)}while(i<

arrayInt.length);

34)

35)Stringoutput="

36)for(intk:

arrayInt){

37)output+=k+"

38)}

39)

40)JOptionPane.showMessageDialog(null,"

TheelementsofarrayIntis"

41)+output,"

outputarrayInt"

JOptionPane.INFORMATION_MESSAGE);

42)}

43)

44)publicstaticbooleanisNotHave(int[]arrayInt,intn){

45)for(inti=0;

j;

46)if(arrayInt[i]==n)

47)returnfalse;

48)}

49)returntrue;

50)}

51)}

4.先对数组{1,3,9,5,6,7,1,5,4,8}进行排序,然后二分查找法找出数组中的元素8,标出其排序后其下标的位置。

3)intnumbers[]={1,3,9,5,6,7,1,5,4,8};

4)java.util.Arrays.sort(numbers);

5)

6)System.out.println("

排序后的数组为:

7)for(inti=0;

i<

numbers.length;

8)System.out.print("

+numbers[i]);

9)System.out.println();

10)

11)intn=binarySearch(numbers,8);

12)System.out.println("

数字8的位置为:

+n);

13)

16)publicstaticintbinarySearch(int[]list,intkey){

17)intlow=0;

18)inthigh=list.length-1;

19)intmid=0;

20)

21)while(high>

low){mid=(mid==(low+high)/2)?

22)(mid+1):

((low+high)/2);

23)if(key<

list[mid])

24)high=mid-1;

25)elseif(key==list[mid])

26)returnmid;

27)else

28)low=mid-1;

29)}

30)return-low-1;

31)}

32)}

5.编写一个程序,读入数目确定的考试分数,并且判断有多少个分数高于或等于平均分,有多少个分数低于平均分。

输入一个负数标志输入结束,假设最高分为100。

3)publicclassTest{

4)publicstaticvoidmain(String[]args){

5)double[]scores=newdouble[100];

6)doublesum=0;

7)intcount=0;

8)

9)do{

10)StringscoreString=

11)JOptionPane.showInputDialog(null,"

Enteranewscore"

12)scores[count]=Double.parseDouble(scoreString);

13)sum+=scores[count];

14)}while(scores[count++]>

=0);

16)doubleaverage=(sum-scores[count])/(count-1);

17)

18)intnumOfAbove=0;

19)intnumOfBelow=0;

20)for(inti=0;

count-1;

21)if(scores[i]>

=average)

22)numOfAbove++;

23)else

24)numOfBelow++;

25)

26)System.out.println("

Averageis"

+average);

27)System.out.println("

Numberofscoresaboveorequaltotheaverage"

28)+numOfAbove);

29)System.out.println("

Numberofscoresbelowtheaverage"

30)+numOfBelow);

31)

32)System.exit(0);

34)}

6.编写一个程序,生成0-9之间的100个随机整数并且显示每一个数的个数。

1)publicclassexercise7{

3)int[]numbers=newint[100];

4)int[]counts=newint[10];

5)

6)intk;

7)for(inti=0;

100;

8){

9)numbers[i]=(int)(Math.random()*10);

10)counts[numbers[i]]++;

11)}

12)

13)System.out.println("

the100numbersis:

14)for(inti=1;

=numbers.length;

i++)

15){

16)if(i%10!

=0)

17)System.out.print(numbers[i-1]+"

18)else

19)System.out.println(numbers[i-1]);

20)}

21)

22)System.out.println("

thecountsofeachnumberis:

23)for(inti=1;

=counts.length;

i++)

24)System.out.print(counts[i-1]+"

26)}

7.求平均值和方差。

利用mean(int[]numbers)求平均值,利用deviation(int[]numbers)求标准差。

1)importjava.util.Scanner;

2)publicclassMeanDeviation{

3)publicstaticvoidmain(String

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2