一.单选题
1.下列与队列结构有关联的是(D)
A 函数的递归调用
B 数组元素的引用
C 多重循环的执行
D 先到先服务的作业
解析:队列的修改是依先进先出的原则进行的, D 正确。
2.
解析:这里得类被final修饰,是不能够继承的,而接口本来就是用来实现,然后重写里面的方法,此时如果修饰了就不能进行重写,所以这里不能使用final修饰接口。
3.
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A 错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
4.
解析:System.arraycopy > 使用clone方法 > Array.copyOf > for循环
5.
解析: 仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
6.
解析:软件生命周期分为 3 个阶段:
软件定义阶段,任务是确定软件开发工作必须完成的目标,确定工程的可行性;
软件开发阶段,任务是具体完成设计和实现定义阶段所定义的软件,通常包括总体设计、详细设计、编码和测试;
软件维护阶段,任务是使软件在运行中持久地满足用户的需要。需求分析属于软件定义阶段的任务。
7.1GB 的准确值是( )
A 1024×1024 Bytes
B 1024 KB
C 1024 MB
D 1000×1000 KB
他的回答: C (正确)
正确答案: C
解析:1GB=1024MB=1024 × 1024KB=1024 × 1024 × 1024B 。
8.
9.下面哪些类实现或继承了 Collection 接口?
A HashMap
B ArrayList
C Vector
D Iterator 迭代器
他的回答: B C (正确)
正确答案: B C
10.
二.编程题
解题思路:这道题目的实质是:判断三元一次方程组是否有解及求解
1.A - B = a
2.B - C = b
3.A + B = c
4.B + C = d ,
1+3可以得到A=(a+c)/2;
4-2可以得到C=(d-b)/2;
2+4可以得到B2=(b+d)/2,
3-1可以得到B1=(c-a)/2;
如果B1等于B2则输出A,B,C
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int d = sc.nextInt(); int A = (a + c) / 2; int B1 = (c - a) / 2; int B2 = (b + d) / 2; int C = (d - b) / 2; if (B1 == B2){ System.out.println(A + " " + B1 + " " + C); } else { System.out.println("No"); } } }
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
StringBuilder s = new StringBuilder();
String table = "0123456789ABCDEF";
boolean flg = false;
if (m == 0){
System.out.println("0");
return ;
} else if (m < 0) {
m = -m;
flg = true;
}
while (m != 0) {
s.append(table.charAt(m % n));
m = m / n;
}
// 3 2 1
if (flg) {
s.append("-");
}
// 3 2 1 - 逆置reverse
s.reverse();
System.out.println(s);
}
}