Java程序设计试题[1]
- 格式:doc
- 大小:56.50 KB
- 文档页数:14
Java程序设计试题一、填空与选择(可以多选)(共30分,每题3分)1. Java 语言的特点,,,,。
2. 写出下面表达式的值:a= 1, b = 2, c= 3, u = false;A) (a >= 1 && a <=12 ? a : b) ;B) !((a>=--b|b++<=c--)&&b==c) 。
3.下面的哪个答案是不正确的:A) float f = 11.1;B) double d = 5.3E12;D) double d = 3.14D;E) Object a = new String(“abc”);F) String s = v.elementAt(0); (这里v 是一个向量的引用)4.写出下列表达式的值:A) 0≤x≤10B) |f| < 1C)5. 构造函数与静态初始化器的区别是 , ,。
6. 数组与向量的区别是。
7. 下面关于变量及其范围的陈述哪些是正确的。
A) 实例变量是类的成员(域)变量;B) 实例变量用关键字static声明;C) 在方法中定义的局部变量在该方法被执行时创建;D) 局部变量在使用前必须被初始化;8) 说明下列创建数组的方法那些是正确的。
A) int twoDim[][] = new int[4][];B) int twoDim[][] = new int[][4];C) int twoDim[][] = new int[4][5];D) char a[] = {…A‟, …B‟};E) char c[] = “ABC”;9)下面哪些判断是正确的。
A)Abstract不能和final并列修饰同一个类;B)一个方法使用final修饰,则该方法所在的类不能被继承;C)abstract方法所在的类必须是abstract类D)static方法中能处理非static域E)abstract类中能有private方法F)abstract类中不能包含final修饰的方法G)private可以和static一起修饰一个方法10)为了能够在TextField 对象in中输入信息,输入回车后能在屏幕上立刻显示,应引入包,in必须注册事件监听,主类应实现接口,实现方法。
二、阅读程序(30分)1)class MyClass{private int x; private int y;public MyClass(){x=0; y=0;}public MyClass(int x, int y){... ... ...}public void show(){System.out.println("\nx="+x+" y="+y);}public void show(boolean flag){if (flag) System.out.println("\nx="+ x +" y=" + y);else System.out.println("\ny="+ y +" x=" + x);}}请回答下列问题(10分)A)请写出类MyClass 的所有域(成员)变量和构造方法;B) 为了在MyClass(int x, int y) 中给域变量x,y 赋值,应如何处理,请写出对应的赋值语句。
C) public static void main(String args[]){ MyClass myclass;myclass.show();}编译运行该程序将会有何结果,如果有错,请指出原因。
D)public static void main(String args[]){MyClass myclass=new MyClass(5,10);myclass.show(false);}编译运行该程序将会有何结果,如果有错,请指出原因。
E) public class MyPro{public static void main(String args[]){MyClass myclass=new MyClass(5,10);System.out.println("\nx=" + myclass.x + " y=" + myclass.y);}}编译运行该程序将会有何结果,如果有错,请指出原因。
2) 下列程序:(5分)public void test(){try { oneMethod();System.out.print("condition 1");} catch (ArrayIndexOutOfBoundsException e) {System.out.print("condition 2");} catch(Exception e) {System.out.print("condition 3");} finally {System.out.print("finally");}}当oneMethod()方法正常运行时,显示____________,当oneMethod()方法产生非ArrayIndexOutOfBoundsException e时,显示____________。
3)请写出下列程序的运行结果(5分)import java.io.*;public class Test2001{public static void main(String args[]){ int a[][] = new int[5][5];int i,j,k=1;for(i=0;i<5;i++)for(j=0;j<5;j++)if((i+j)<k){a[i][j]=k;k++;}elsea[i][j]=0;for(i=0;i<5;i++){for(j=0;j<5;j++)if(i<10)System.out.print(a[i][j]+ " ");elseSystem.out.print(a[i][j]+ " ");System.out.println();}}}4)下列代码的输出结果是什么?(5分)public class MyFor{public static void main(String argv[]){int i; int j;outer: for (i=1;i <3;i++)inner: for(j=1; j<3; j++){if (j==2) continue outer;System.out.println("Value for i=" + i + " Value for j=" +j);}}}5)请写出该程序的运行结果(5分)class Point {int x, y;String name = "a point";Point(){x = 0; y = 0;}Point(int x1, int y1, String name1){x = x1;y = y1;name = name1;}int getX(){ return x;}int getY(){ return y;}void move(int newX, int newY){x = newX;y = newY;}Point newPoint(String name){Point newP = new Point(-x, -y, name);return newP;}boolean equal(int x, int y){if(this.x == x && this.y == y)return true;elsereturn false;}void print(){System.out.println(name +":x=" + x + "y=" +y);}}public class UsingObject{public static void main(String args[]){Point p = new Point();p.print();p.move(50,50);System.out.println(" ***** after moving ****"); System.out.println("Get x and y directly"); System.out.println("x= " + p.x + "y="+p.y); System.out.println("or Getx and y calling method"); System.out.println("x= "+p.getX() + "y=" + p.getY()); if(p.equal(50,50))System.out.println("I like this point!!!");elseSystem.out.println("I hate it!!!");p.newPoint("a new point").print();new Point(10,15,"another new point").print();}}三、编程题(40分)1)按下列要求编写一个完整的基于application(应用)的程序:(13分)A)接收命令行参数传递的浮点数,x, y和整数n。
B)用递归技术编写方法用于计算n!。
C)利用公式: 计算并输出。
2)编写一基于application的程序,读文件“test.txt”,统计其中英文字母的个数和大写字母的个数,并输出。
(13分)3) 编写一application程序,完成下面的功能:(14分)A)补充给定的类中的方法,形成完整的链表类,B)利用已有的列表类,将数组int a[] = {-20, 10, 35, 80, -245, 36, 25};按从小到大的顺序插入到初始为空的列表head中。
C)将列表中保存的数据,按照从大到小的顺序输出。
class Node{ int m_Data; Node m_Next;Node(int data) { m_Data = data; m_Next = null; }Node(int data, Node next){ m_Data = data; m_Next = next; }void setData(int data) { m_Data = data; }int getData() { return m_Data ; }void setNext(Node next) { m_Next = next; }Node getNext() { return m_Next ; }}class LinkList{ Node m_FirstNode;LinkList(){ m_FirstNode = null; }LinkList(int data){ m_FirstNode = new Node(data);}void insert(int data){ 插入完成后保持链表中从小到大的顺序,即插在链表中第一个比data大的节点的前面,如果不存在这样的节点,插在最后。