苏州大学Java编程技术期末试卷
苏州大学Java编程技术期末试卷

苏州大学Java编程技术期末试卷学院__________________ 年级__________________ 专业___________________学号 __________________ 姓名 __________________ 成绩 ___________________一.填空题(20*1)1. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对2. 整型数据类型中,需要内存空间最少的是(D)A) short B) long C) int D) byte3. 在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对4. Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对5. 以下声明合法的是( D )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )6. 关于以下程序代码的说明正确的是( D )1.class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. hs1.x++;6. HasStatic hs2=new HasStatic( );7. hs2.x++;8. hs1=new HasStatic( );9. hs1.x++;10. HasStatic.x- -;11.System.out.println(“x=”+x);12. }13. }A、 5行不能通过编译,因为引用了私有静态变量B、 10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=1027. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
java语言程序设计期末考试试题及答案3

java语言程序设计期末考试试题及答案3一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案:B2. 下列哪个方法用于获取数组的长度?A. length()B. size()C. count()D. getLength()答案:A3. 在Java中,下列哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. 下列哪个选项是Java语言中的一个合法标识符?A. 2variableB. variable2C. _variableD. variable$25. 在Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B6. 下列哪个选项是Java语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line commentD. /* This is a multi-line comment */答案:A7. Java中,下列哪个关键字用于定义一个类?A. interfaceB. classC. abstractD. package答案:B8. 下列哪个选项是Java语言中正确的继承关系?A. public class A extends BB. public class A implements BC. public class A implements interface BD. public class A extends interface B答案:A9. 在Java中,下列哪个关键字用于定义一个方法?B. methodC. functionD. void答案:D10. 下列哪个选项是Java语言中的一个合法的变量名?A. _nameB. name2C. $nameD. name答案:D二、填空题(每题2分,共20分)1. Java中,所有的类都是继承自________类。
大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟)(闭卷)一、简单编程题(共50分)在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码.1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分)(1)在Person类中定义两个字段:私有访问权限,类型为String地name字段;私有访问权限,类型为int地age字段.(2)在Person类中定义构造器构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age.(3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值.(4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示.(5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”.2. 在程序中定义Student类,Student类继承Person类.(10分)(1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有.(2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school.(3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”.3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分)(1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1;(2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1;(3)分别输出这两个对象地相关信息(调用它们地toString方法).4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分)(1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期;(2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型.(3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档.二、代码改错(共20分)在考试文件夹中地proj2工程中有五个类,每个类地代码中都存在错误,请先在出错地代码处用行注释语句标出错误原因,然后修改程序代码中地错误.注意:如果只改错或者只标出错误原因都只给一半分数.三、综合应用题(共30分)考试文件夹下地proj3工程是一个关于俱乐部地应用程序,程序中有两个类:Club 和Membership,分别代表俱乐部和俱乐部地会员.Membership类已经完成,可以直接使用.请按照要求将Club类地功能补充完整.(1)在Club类中,定义一个ArrayList类型地字段members.该字段是程序中用来保存俱乐部会员信息地容器,为此要为该容器选择正确地元素地类型.在Club类地构造器中,创建一个容器对象并赋值给这个字段.(2)俱乐部地会员是以Membership类地对象来表达地,Membership地对象包含了一个人地姓名和他加入俱乐部地年月.在Club类中实现join方法,一个Membership对象通过Club对象地join方法加入到Club对象地容器中去,这个join方法地声明如下:public void join(Membership member)(3)在Club类中实现numberOfMembers方法,该方法能够返回俱乐部地会员人数,方法声明如下:public int numberOfMembers()(4)在Club类里定义一个purge方法,方法地声明如下:public ArrayList<Membership> purge(int month, int year)purge方法能够找出俱乐部中指定年、月加入地会员,并将找到地会员从当前容器中移动到一个新地容器中,同时将该容器作为返回值返回.如果month参数超过了有效地范围(1~12),打印出一条错误信息,并返回一个空容器.答案(1)public class Person{private String name;private int age;public Person(String name,int age) { = name;this.age = age;}public String getName(){return name;}public int getAge(){return age;}public void setName(String newName) {name = newName;}public void setAge(int newAge){if(newAge > 0){System.out.println(newAge);}else{System.out.println("error"); }}public String gettoString(){return ("Name :" + name + "Age:" + age);}}(2)public class Student extends Person{private String school;public Student(String name,int age,String school){super(name,age);this.school = school;}public String getschool(){return school;}public String toString(){return ("school :" + school +"Name :" + name +"Age:" + age);}}(3) public class Test{public static void main(String[] args){Person person1 = new Person("John",18);Student student1 = new Student("Helen",18,"MIT"); System.out.println(person1.toString()); System.out.println(student1.toString()); }}(4) /*** 这是一个Person类* @author 白金* @version 2011.12*/public class Person{protected String name;protected int age;public Person(String name,int age){ = name;this.age = age;}public String getName(){return name;}public int getAge(){return age;}public void setName(String newName){name = newName;}public void setAge(int newAge){if(newAge > 0){System.out.println(newAge);}else{System.out.println("error");}}public String toString(){return ("Name :" + name + "Age:" + age); }}(5) import java.util.ArrayList;/*** Store details of club memberships.** @author (your name)* @version (a version number or a date)*/public class Club{private ArrayList<Membership> members ;/*** Constructor for objects of class Club*/public Club() {members = new ArrayList<Membership>();}/*** Add a new member to the club's list of members. * @param member The member object to be added.*/public void join(Membership member){members.add(member);}public int numberOfMember(){return members.size();}public ArrayList<Membership>purge(int month,int year) {if(month >= 1 && month <= 12){int num = 0;for(Membership member:members){if(member.getMonth() == month)num++;}}elseSystem.out.println("输入地月份无效!");return null;}}版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.7EqZc。
java期末考试试题及答案

java期末考试试题及答案Java期末考试试题一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. packageD. abstract2. Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Integer3. 在Java中,下列哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. clone()D. toString()4. 下列哪个是Java的访问修饰符?A. publicB. staticC. finalD. synchronized5. Java中,哪个关键字用于定义异常类?A. classB. interfaceC. exceptionD. error6. 下列哪个是Java集合框架中的接口?A. ArrayListB. LinkedListC. HashMapD. List7. Java中,哪个关键字用于定义泛型?A. newB. extendsC. implementsD. < >8. 下列哪个是Java的事件监听器接口?A. ActionListenerB. MouseListenerC. KeyEventD. Event9. Java中,哪个关键字用于实现多态?A. newB. overrideC. extendsD. implements10. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. All of the above二、简答题(每题10分,共20分)1. 解释Java中的封装、继承和多态的概念,并给出一个简单的代码示例。
2. 描述Java集合框架中的List和Set接口的区别。
三、编程题(每题15分,共30分)1. 编写一个Java程序,实现一个简单的计算器,能够执行加、减、乘、除四种基本运算。
苏州大学Java程序设计课程试卷含答案(A)

A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
C、public static int main(String [] arg)
D、public void main(String arg[])
2.Java Application源程序的主类是指包含有(A)方法的类。
A、main方法B、toString方法
C、init方法D、actionPerfromed方法
}
}
问:类Person和类Student的关系是(B)。
A、包含关系B、继承关系
C、关联关系两个类定义:
class AA {
void Show(){ System.out.println("我喜欢Java!");
}
class BB extends AA {
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
13. Java语言是( D )。
苏州大学Java程序设计课程试卷(A)卷 参考答案 共7页
一、选择题(2分*25= 50分)
1.main方法是Java Application程序执行的入口点,关于main方法,以下哪项是合法的(B)?
大学Java期末考试题库及答案

大学Java期末考试题库及答案第一部分:选择题1. 下列关于Java语言的说法错误的是:A. Java语言是一种解释性语言B. Java语言是一种面向对象的语言C. Java语言的跨平台特性使得它可以在不同的操作系统上运行D. Java语言最初由Sun公司开发,现在属于Oracle公司的产品答案:A2. 下列哪个不是Java中的基本数据类型?A. doubleB. booleanC. intD. string答案:D3. 下列哪种语句可以用来终止一个循环体从而强制退出循环?A. breakB. continueC. returnD. exit答案:A第二部分:编程题1. 编写一个Java程序,输出1-100中的所有偶数。
答案:public class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}2. 编写一个Java程序,找到一个数组中的最大值。
答案:public class MaxValue {public static void main(String[] args) { int[] arr = {5, 2, 9, 10, 25, 1};int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}}System.out.println(max);}}第三部分:简答题1. 什么是Java虚拟机?答:Java虚拟机(JVM)是一个能够执行Java字节码的虚拟机器。
它是Java平台的中心组件之一,负责将Java程序转换成真正能够在计算机上运行的指令。
2. 什么是Java中的类?答:Java中的类是一种数据结构,包括了数据和方法。
大学java期末试题及答案

大学java期末试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. interfaceC. publicD. private2. 下列哪个选项是Java中的一个基本数据类型?A. StringB. IntegerC. intD. Boolean3. 在Java中,哪个方法用于获取数组的长度?A. length()B. size()C. getLength()D. count()4. Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally5. 下列哪个选项是Java中的集合框架接口?A. ListB. ArrayListC. LinkedListD. All of the above6. 在Java中,下列哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract7. 下列哪个选项是Java中用于创建线程的方法?A. start()B. run()C. thread()D. All of the above8. 在Java中,下列哪个关键字用于声明接口?A. classB. interfaceC. abstractD. final9. 下列哪个选项是Java中用于创建对象的关键字?A. newB. createC. makeD. instantiate10. 在Java中,下列哪个关键字用于声明一个方法?A. methodB. functionD. void二、填空题(每题2分,共20分)1. Java语言是_________语言,它允许跨平台运行。
2. 在Java中,所有的类都是_________类的子类。
3. Java中,_________关键字用于声明一个方法可以被子类重写。
4. Java中,_________关键字用于声明一个类不能被继承。
java期末考试试题及答案

java期末考试试题及答案Java期末考试试题及答案Java作为一门广泛应用于软件开发领域的编程语言,其在计算机科学教育中扮演着重要的角色。
期末考试是对学生在整个学期所学知识的综合考察,下面将给出一些可能出现在Java期末考试中的试题及其答案,供同学们参考。
一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. voidC. intD. public答案:A2. 下面哪个选项是Java中的基本数据类型?A. StringB. IntegerC. BooleanD. Array答案:C3. 在Java中,以下哪个关键字用于声明一个方法?A. methodB. voidC. intD. public答案:B4. 下面哪个选项是Java中的循环结构?A. if-elseB. switch-caseC. forD. try-catch答案:C5. 在Java中,以下哪个关键字用于创建一个对象?A. newB. voidC. intD. public答案:A二、填空题1. 在Java中,用于接收用户输入的类是_________。
答案:Scanner2. 在Java中,用于将字符串转换为整数的方法是_________。
答案:parseInt3. 在Java中,用于将一个对象转换为字符串的方法是_________。
答案:toString4. 在Java中,用于终止当前循环并开始下一次循环的关键字是_________。
答案:continue5. 在Java中,用于抛出一个异常的关键字是_________。
答案:throw三、编程题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算斐波那契数列的第n个数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
苏州大学Java编程技术期末试卷学院__________________ 年级__________________ 专业___________________学号__________________ 姓名__________________ 成绩___________________一.填空题(20*1)1.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对2.整型数据类型中,需要内存空间最少的是(D)A) short B) long C) int D) byte3.在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对4.Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对5.以下声明合法的是( D )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )6.关于以下程序代码的说明正确的是( D )1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=1027.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为( C )。
A、隐藏B、覆盖C、重载D、Java不支持此特性8.以下关于构造函数的描述错误的是( A )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
9.下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象10.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( C )个比特位。
A、8B、16C、32D、6411.以下关于继承的叙述正确的是( A )。
A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承12.下列关于构造方法的叙述中,错误的是( C )A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用13.执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A )A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空14.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(B )A、ArrayList myList=new Object();B、List myList=new ArrayList();C、ArrayList myList=new List();D、List myList=new List();15.指出正确的表达式(C)A、byte=128;B、Boolean=null;C、long l=0xfffL;D、double=0.9239d;16.要从文件"file.dat"中读出第10个字节到变量c中,下列哪个方法适合? (D)A、FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();B、FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();C、FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D、RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();17.list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?( D )Iterator it = list.iterator();int index = 0;while (it.hasNext()){Object obj = it.next();if (needDelete(obj)) { //needDelete返回boolean,决定是否要删除//todo delete}index ++;}A)list.remove(obj);B)list.remove(index);C)list.remove(it.next());D)it.remove();18.阅读Shape和Circle两个类的定义。
在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?( B )class Shape {public String name;}class Circle extends Shape implements Serializable{private float radius;transient int color;public static String type = "Circle";}A)nameB)radiusC)colorD)type19.下面是People和Child类的定义和构造方法,每个构造方法都输出编号。
在执行newChild("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果( D ) class People {String name;public People() { System.out.print(1); }public People(String name) {System.out.print(2); = name;}}class Child extends People {People father;public Child(String name) {System.out.print(3); = name;father = new People(name + ":F");}public Child(){ System.out.print(4); }}A)312 B) 32C) 432 D) 13220.下面哪个选项中的代码没有定义内部类,或者错误的定义了内部类?( C ) A)public Class Line {int length;Class Point {//内部类代码}}B) public Class Line {public Point getPoint() {return new Point(){//内部类代码};}}C) public Class Line {//外部类代码}Class Point {//内部类代码}D) public Class Line {public int calcLength() {Class Point {//内部类代码}}}二.程序填空题(15*2)1) 下列程序功能是使用二维数组显示杨辉三角形的前7行。
7行的杨辉三角如下图所示。
class Triangle {public static void main(String args[]){ final int cols=7;int yh[][]=new int[cols][cols]; for (int i=0;i<cols;i++) yh[i][0]=yh[i][i]=1; for (int i=2;i<cols;i++)for (int j=1;j<i;j++)yh[i][j]=yh[i-1][j-1]+ (1)yh[i-1][j] ;for (int i=0;i<cols;i++){for (int j=0;j<=i;j++)System.out.print(yh[i][j]+"\t");(2)System.out.println();}}} 2)下列程序的功能是从键盘输入任意两个字符串,判断串1是否是串2的子串。
import java.io.*; public class exam_01 { public static void main(String[] args) (3) {BufferedReader brd=new BufferedReader(new InputStreamReader( (4) )); String str1,str2;System.out.println("请输入两个字符串:"); str1=brd.readLine(); str2= (5) ; int pos=str2.indexOf(str1); if (pos<0) System.out.println(str1+"不是"+str2+"的子串! "); elseSystem.out.println(str1+"是"+str2+"的子串! ");}}3) 下面的程序产生50个[0,100]区间内的随机整数,赋值给数组randomNumber 的元素,并按每行10个的格式输出。