第五章 判断题
1.下标用于指出数组中某个元素位置的数字。( ) 2.把数组中元素按某种顺序排列的过程叫做查找。( ) 3.确定数组中是否含有某个关键字的过程叫做排序。( ) 4.一个数组可以存放许多不同类型的数值。( ) 5.数组的下标通常是float型。( )
6.数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过的数值。( )
7.数组可以声明为任何数据类型。( )
8.数组由具有一名字和相同类型的一组连续内存单元构成。( )
9.在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小只能有用户来决定。( )
10.将一个数组传递给一个方法,必须加在数组名后加方括号。( ) 第五章 选择题
1.线性表和表可以存储在▁▁中。 A.数组 B.堆栈 C.文件 D.字符串
2.数组元素之所以相关,是因为它们具有相同的▁▁。 A.名字 B.类型 C.下标 D.地址
3.二维数组使用几个下标。 A.1 B.2 C.3 D.4
4.请看下面的程序段: public class Person{
static int arr[] = new int[10]; public static void main(String a[]) { System .out .println(arr[1]); } }
下面说法正确的是: A.当编译时会发生错误
B.编译不会发生错误但执行是会发生错误 C.输出结果为0 D.不会输出结果 5.请看下面的程序段: public class Person{
int arr[] = new int[10];
public static void main(String a[]) { System .out .println(arr[1]); } }
下面说法正确的是: A.当编译时会发生错误
B.编译不会发生错误但执行是会发生错误 C.输出结果为0 D.不会输出结果
6.下面哪个选项正确的声明一个字符型数组: A.char str[] B.char str[][] C.String str[] D.String str[10]
7.下面那一个选项正确创建一个空的含有6个元素的字符数组: A.String s[6]; B.String [6]s;
C.String s[ ]={“”,””,””,””,””,””}; D.String s[ ]=new String[6]; For(int m=0;m<6;m++) { s[m]=””;} E. String s[ ]=new String[6];
For(int m=0;m<6;m++) { s[m]=null;} 8.请看下面的程序段: public class MyClass {
public static void main(String arg[ ]) { int arr[ ]= new int[3];
System .out .println(“it is “+ arr[1]); } }
当编译和执行这段代码时会出现:
A.有一个编译错误为“possible reference before assignment” B.有一个编译错误为“illegal array declaration syntax” C.有异常出现为“NullPointerException” D.正确执行并且输出0 9.请看下面的程序段 public class Person{ String name; int age;
public Person(String n,int a) { name=n; age=a;}
public static void main(String arg[ ]){ //point x
} }
下面选项可以添加到//point x处: A.Person p[ ]=new Person[3]; P[1]=new Person(“user1”;24); B.Person p[ ]; P=new Person[3];
P=new Person(“user2”;56);
C.Person p[ ]={ new Person(“user1’,34),(“user2”,34)} D.Person p[ ]=new Person{(“user1’,34),(“user2”,34)} 10.请看下面的程序段 public class Test{ String s; int m;
public Test(String t ,int n){ s=t;m=n; }
public static void main(String arg[ ]){ Test t[ ]={ new Test(“abc”,3); new Test(“ddf”,23) }; //point x } }
下面选项可以添加到//point x处:
A.System .out .println(“the value is”+t[3].s); B.System .out .println(“the value is”+t[2].m); C.System .out .println(“the value is”+t[1].s); D.System .out .println(“the value is”+t[1].m); 第五章 程序设计题
1.编写程序,接受用户输入的若干字符串,并按字典排序输出。要求使用两种以上的排序算法。 2.上题用桶排序的方法实现。
3.编写一个程序,用户每输入一个字符串,都把它保存在按字典排序的合适位置上,请利用对分法找到合适的插入位置。
4.编程求一个整数数组的最大值、最小值、平均值和所有数组元素的和。 第五章判断题答案 1.难度:容易 答案:错误
知识点:下标用于指出数组中某个元素的数字。 2.难度:容易 答案:正确
知识点:把数组中元素按某种顺序排列的过程叫做排序。 3.难度:容易 答案:错误
知识点:确定数组中是否含有某个关键字的过程叫做查找。 4.难度:容易 答案:错误
知识点:一个数组只能存放同一类型的数值。 5.难度:容易 答案:错误
知识点:一个数组下标应为整数或整数表达式。 6.难度:容易 答案:错误
知识点:因为数组的单个基本数据类型元素以值调用方式传递。如果将整个数组传递给方法,数组元素的任何变化都将反映在原来数组上。另外,如数组单个元素是类的对象,传递单个元素也以引用调用形式传递给方法,对象的改变将反映在原数组元素上。 7.难度:容易 答案:正确
知识点:数组的使用。 8.难度:容易 答案:正确
知识点:数组的概念。 9.难度:适中 答案:错误
知识点:在数组声明中可以用等号及一个逗号分隔的初始值表初始化数组元素,该数组大小由初始值表中的数据个数决定。 10.难度:容易 答案:错误
知识点:将一个数组传递给一个方法,应使用不加方括号的数组名。 第五章 选择题答案 1.难度:容易 答案:B
知识点:线性表和表可以存储在数组中。 2.难度:容易 答案:AB
知识点:数组元素之所以相关,是因为它们具有相同的名字和类型。 3.难度:容易 答案:B
知识点:二维数组使用双下标。 4.难度:容易 答案:C
知识点:静态数组arr已经被初始化为0。 5.难度:容易 答案:A
知识点:数组arr不是静态数组,在方法main()中没有被直接访问。 6.难度:容易 答案:C
知识点:不允许在数组名后面的括号内指定数组元素的个数。 7.难度:适中 答案:CD
知识点:“”表示数组元素为空。 8.难度:适中 答案:D
知识点:一旦数组被创建则它的元素就被初始化为0 9.难度:适中 答案:ABC
知识点:可以用初始值来创建数组p,选项D书写不合法。 10.难度:适中 答案:CD
知识点:数组t的长度位,它的下标是0和1,则使用t[2]和t[3]是不对的。 第五章 程序设计题答案 1.难度:难
答案:源程序:Paixu.java import java.applet.*; import java.awt.*; import java.awt.event.*;
public class Paixu extends Applet implements ActionListener {
final String SORT_METHOD_NAME[] = {\冒泡排序\选择排序\Label prompt = new Label(\请输入欲排序的字符串(最多10个):\TextField input = new TextField(5);
Button sortBubbleBtn = new Button(SORT_METHOD_NAME[0]); Button sortSelectBtn = new Button(SORT_METHOD_NAME[1]); String[] OrigArray = new String[10]; //保存排序前顺序的数组 String[] DataArray = new String[10]; //保存待排序数据的数组 int DataInputed = 0; //已输入数据的统计
String[][] SortPro = new String[11][10]; //保存排序过程的二维数组 public void init() //初始化 {
for(int i=0; i<10; i++) {
DataArray[i] = \OrigArray[i] = \SortPro[10][i] = \for(int j=0; j<10; j++) SortPro[i][j] = \}
add(prompt); add(input);
add(sortBubbleBtn); //将提示,输入区域,按钮加入Applet

