线 : 号 学 : 姓名 订 : 级 班 业 专 装 :系院
江西农业大学2011—2012学年第一学期期末考试试卷(B)
课程名称:JAVA语言程序设计 开课单位:软件学院 考试方式:闭卷 使用专业:软件工程 考试日期:2011.12.27 考试时间:120分钟 题号 一 二 三 总分 签名 题分 30 20 50 100 得分 注意事项:1、本试卷共1页,考生必须将试卷答案填写在答题纸上;2、考试结束后,考生务必将试卷、答题纸和草稿纸交给监考老师。
一、程序输出题(共6小题,每小题5分,共30分)
1、public class Arrays
{ public static void main(String[] args) { int[] a1 = { 1, 2, 3, 4, 5 }; int[] a2; a2 = a1;
for(int i = 0; i < a2.length; i++) a2[i]+i; for(int i = 0; i < a1.length; i++)
System.out.println( \
} }
2、public class ArrayCopyDemo { public static void main(String[] args)
{ char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd'}; char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } }
3、public class BankAccount { private int accountNumber; private float balance;
public BankAccount(int number, float initBal){ accountNumber = number; balance = initBal; }
public String toString(){
return(\
+ new java.text.DecimalFormat(\
}
}
public class AccountTester {
public static void main(String args[]) { BankAccount anAccount;
anAccount = new BankAccount(100023,100); System.out.println(anAccount); } }
4、class A1{ int x = 20;
public void setx(int i){ x = i; }
void printa(){
System.out.println(x); } }
class B1 extends A1{ int x=1; void printb() {
super.x = super.x +10 ; System.out.println (\ \ x= \ } }
public class Exam4_4Test {
public static void main(String[] args){ A1 a1 = new A1(); a1.setx(4); a1.printa();
B1 b1 = new B1(); b1.printb(); b1.printa(); b1.setx(6); b1.printb(); b1.printa(); a1.printa(); }
}
5、abstract class Glyph { abstract void draw(); Glyph() {
System.out.println(\ draw();
System.out.println(\ } }
class RoundGlyph extends Glyph { int radius = 1; RoundGlyph(int r) { radius = r;
System.out.println(\ radius = \ }
void draw() {
System.out.println(\ } }
public class PolyConstructors {
public static void main(String[] args) { new RoundGlyph(5); } }
6、class Meal {
Meal() { System.out.println(\}
class Bread {
Bread() { System.out.println(\}
class Lunch extends Meal {
Lunch() {System.out.println(\}
class PortableLunch extends Lunch {
PortableLunch() { System.out.println(\}
public class Sandwich extends PortableLunch { Bread b = new Bread();
Sandwich(){System.out.println(\
public static void main(String[] args) { new Sandwich(); }
}
二、简答题(共2小题,每小题10分,共20分)
1、 抽象基类与接口的异同点?
2、 试述哈希表存储对象的方式与数组、Vector及ArrayList不同?
三、编程题(共5小题,每小题10分,共50分)
1、 从屏幕上输入一个整数,然后输出它的翻转形式。
2、 请自定义一个包Package1,包中含两个类,一个类用来计算正方形面积,另一个类用来计算长方形体
积。在类test当中使用Package1包中的类计算一边长为10正方形面积,计算一长方形(10×20×30)的体积。
3、使用Vector存储四个字符串china、japan、english、american。然后将长度大于6的字符串从中移除。 4、设计一线程随机产生一整数放入一存储器中,存储器一次只能存放一个数。另一线程将打印出此整数。要求两线程要协同工作,先存后打印此数。共循环10次。
5、设有一ACCESS数据库的ODBC数据源为:source,用户名为:tester,密码为:1234。 数据库中表person的数据如下: ID name 1 john 2 hl 请用JDBC-ODBC桥来连接数据库,输出数据库中所有数据,并插入一条记录(3,”dh”)到数据库中。