选择题
公共知识
D = { a, b, c, d, e, f }
R = { (f, A), (d, B), (e, D), (c, e), (a, C) }
该数据结构为()。
即一个数据结构可以表示成B = (D, R)。
其中B表示数据结构。
为了反映D中各数据元素之间的前后件关系, 一般用二元组来表示。
例如, 假设a与b是D中的两个数据, 则二元组(a, b)表示a是b的前件, b是a的后件。
如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点; ②每一个结点最多有一个前件, 也最多有一个后件。
则称该数据结构为线性结构。
如果一个数据结构不是线性结构, 则称之为非线性结构。
根据上述理论, 本题中f为根结点, 每个结点有一个前件和一个后件, 符合线性结构的定义。
故本题答案为A选项。
在实际使用循环队列时, 为了能区分队列满还是队列空, 通常还需要增加一个标志s。
当s = 0时表示队列空, 当s = 1且front = rear时表示队列满。
故本题答案为A选项。
线性链表的存储单元是不连续的, 为把存储空间中一些离散的空闲存储结点利用起来, 把所有空闲的结点组织成一个带链的栈, 称为可利用栈。
线性链表执行删除操作运算时, 被删除的结点可以"回收"到可利用栈, 对应于可利用栈的入栈运算, 线性链表执行插入运算时, 需要一个新的结点, 可以在可利用栈中取栈顶结点, 对应于可利用栈的退栈运算。
可利用栈的入栈运算和退栈运算只需要改动top指针即可。
当top = bottom = 20时链栈中的元素个数为1。
故本题答案为A选项。
模块的独立性是指软件模块的编写和修改应使其具有独立功能, 且与其他模块的关联尽可能少。
故本题答案为A选项。
黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。
黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。
白盒测试方法主要有逻辑覆盖测试(语句覆盖、路径覆盖、判断覆盖、条件覆盖)、基本路径测试等。
故本题答案为A选项。
概念数据模型有实体联系模型(E - R模型)、面向对象模型及谓词模型; 逻辑数据模型有层次模型、网状模型、关系模型和面向对象模型。
故本题答案为A选项。
表A中的某属性集是某表B的键, 则称该属性集为A的外键或外码。
故本题答案为A选项。
实体完整性约束是指若属性M是关系的主键, 则属性M中的属性值不能为空值。
故本题答案为A选项。
关系模式SC中, 主键为(S#, C#), 但显然有S#->Sd, S#->Sa, 存在非主属性对主属性的部分依赖。
故本题答案为A选项。
专业知识
在一个Java源程序中可以有0条或多条import语句, 但必须在所有类定义之前引入标准类。
选项C正确, 本题答案为C。
类名和接口名都采用完整的英文描述符, 并且所有单词的第一个字母大写; 变量和方法名采用完整的英文描述符, 第一个字母小写, 任何中间的单词首字母大写; 包采用完整的英文描述符, 且都是由小写字母组成。
(参见Java编程规范), 选项C正确, 本题答案为C。
int x = 4, y = 5;
int k = --x * y++;
char k = 'B', p = 'F';
int data = p - k;
System.out.println("" + data);
int x = 5;
if (x > 1 && x < 5)
x += 2;
else if (x > 10 || x < 20)
x -= 2;
else
x *= 2;
int d, y = 0;
int x = 123;
while (x != 0) {
d = x % 10;
y = y * 10 + d;
x = x / 10;
}
第一次:3 3 12
第二次:2 32 1
第三次:1 321 0
选项B正确, 本题答案为B。
long result = 0;
for (int i = 1; i < 5; i++)
result = result + i * (i + 1);
第四次循环结果:20 + 20 选项C正确, 本题答案为C。
int i, j;
for (i = 1; i < 3; i++) {
for (j = 10; j >= 0; j--)
if ((j % 3) == 0)
break;
System.out.print("" + i + "," + j + ",");
}
I = 1;
j = 10 2 9
int k = 0;
int[] num = { 3, 8, 2, 8, 5 };
for (int i = 0; i < 5; i++) {
if (num[i] > num[k]) {
k = i;
}
}
System.out.print(" " + num[k]);
选项A正确, 本题答案为A。
public class BankAccount {
static double loan[] = new double[10];
public static void main(String args[]) {
System.out.println(loan[9]);
}
}
输出的是0.0选项C正确, 本题答案为C。
1 class Reptile {
2 public void crawl(int i, int j) {
...
}
3 public void crawl(int i) {
...
}
4
}
5 public class Tortoise extends Reptile {
6 public void crawl() {
...
}
7 public void crawl(int i) {
...
}
8 public static void main(String args[]) {
9 Reptile a = new Tortoise();
10 a.crawl();
11
}
12
}
本题答案为D。
public class Village {
public static void main(String args[]) {
Village c = new Village();
}
Village() {
System.out.println("hiding in Village");
}
}
因此构造方法不需要返回类型。
选项D正确, 本题答案为D。
public class ExceptionsHandling {
static void test(int i) throws ArithmeticException, ArrayIndexOutOfBoundsException {
if (i == 0) {
System.out.println("Everything is OK");
return ;
} else if (i == 1) {
int myArray[] = new int[4];
myArray[4] = 3;
}
}
public static void main(String args[]) {
try {
test(0);
test(1);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("catch " + e);
} finally {
System.out.println("test over");
}
}
}
public class ValueChange {
char c;
public static void main(String args[]) {
long l;
ValueChange vc = new ValueChange();
l = 50;
System.out.println("long is:" + l);
vc.changelong(l);
System.out.println("changed long is:" + l);
vc.c = 'J';
System.out.println("char is:" + vc.c);
vc.changeName(vc);
System.out.println("changed char is:" + vc.c);
}
public void changelong(long l) {
l = 60;
}
public void changeName(ValueChange vc) {
vc.c = 'X';
}
}
public void changeName(ValueChange vc) { vc.c = 'X'; } vc.c已经重新辅助为X, 选项B正确, 本题答案为B。
public class StringTest {
public static void main(String args[]) {
char chars[] = { 'J', 'a', 'v', 'a', 'l', 'a', 'n', 'g', 'u', 'a', 'g', 'e' };
String s = new String(chars);
String s1 = s.substring(5, 10);
String s2 = s1.toUpperCase();
System.out.println(s2);
}
}
getParentFile()的作用是获得父目录
getName()是用来返对象所代表的具体对象的名称。
选项A正确, 本题答案为A。
import java.io.*;
public class testIn {
public static void main(String[] args) {
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream("score.txt"));
int[] pdata = new int[3];
pdata = (int[])in._________();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2、该对象的串行化成员必须是非静态成员变量, 即不能保存任何的成员方法和静态的成员变量, 而且串行化保存的只是变量的值, 对于变量的任何修饰符, 都不能保存。
而对于某些类型的对象, 其状态是瞬时的, 这样的对象是无法保存其状态的, 例如一个Thread对象, 或一个FileInputStream对象, 对于这些字段, 我们必须用transient关键字标明 。
(注:保存任何的成员方法和静态的成员变量没有任何的意义, 因为对象的类已经完整的保存了他们)3、要串行化一个对象, 必须与一定的对象输入/输出流联系起来, 通过对象输出流将对象状态保存下来, 再通过对象输入流将对象状态恢复。
选项B正确, 本题答案为B。
用于 showConfirmDialog 的类型。
static int YES_NO_OPTION
用于 showConfirmDialog 的类型。
static int OK_CANCEL_OPTION
用于 showConfirmDialog 的类型。
选项A正确, 本题答案为A。
选项A正确, 本题答案为A。
public class Test implements Runnable {
public static void main(String[] args) {
Thread t = new___________;
t.start();
}
public void run() {
System.out.println("abc");
}
}
1 public class Counter {
2 public int counter = 0;
3 synchronized void add() {
4 counter++;
5
}
6 public int get() {
7 counter--;
8 return counter;
9
}
10
}
每个Java小应用程序都必须是Applet类或JApplet类的子类。
因此, 本题的正确答案是A。
import java.awt.*;
import java.applet.*;
public class SaySomething extends Applet {
public void ________(Graphics g) {
g.drawString("Good Luck!", 40, 40);
}
}
编程题
本题的要求是:
对该程序进行调试, 使程序能够判断所输入的年份是否闰年。
1.io 2.throws 3.in 4.s
填空1:所有的字节流字符流都属于输入流和输出流
填空2 : throw语句用在方法体内, 表示抛出异常, 由方法体内的语句处理。
throws语句用在方法声明后面, 表示再抛出异常, 由该方法的调用者来处理。
throws主要是声明这个方法会抛出这种类型的异常, 使它的调用者知道要捕获这个异常。
throw是具体向外抛异常的动作, 所以它是抛出一个异常实例。
填空3 : readLine()是读取流读数据的时候用的, 当读到换行标记'\n'、'\r'(回车)时, 会跟着换行, 同时会以字符串形式返回这一行的数据, 当读取完所有的数据时会返回null
填空4:将字符串类型转为int类型
本题的要求是:
构造一个5行5列的矩阵并将其打印输出, 使程序的输出结果如下:
1 2 3 4 5
6 7 8 9 0
1 2 3 0 0
4 5 0 0 0
6 0 0 0 0
1.new 2.k++3.a[i][j] = 0 4.System.out.print("\n");
填空1:创建数组对象用关键字new
填空2:本程序中列的数字要求每列增加1, 用k++满足该条件
填空3:程序运行时要求每行的0都要增加1个, 可以用a[i][j] = 0来控制0的生成
填空4:输出要求5个数字换1行, \n在java中属于换行符
本题的要求是:
创建一个顶层框架类的对象, 设置框架左上角的标题为"股票分析系统", 并将顶层框架放置
到屏幕中央, 使程序的输出界面如下图所示:
1.new JFrame 2.setTitle 3.jf
填空1 : JFrame是指一个计算机语言-java的GUI程序的基本思路是以JFrame为基础, 它是屏幕上window的对象, 能够最大化、最小化、关闭, 创建其对象时需要用关键new
填空2 : JFrame类提供设置标题的方法, setTitle()设置标题
填空3:要将窗口显示出来需用JFrame提供的setVisiable(true), 参数设置为true