选择题
下列与队列结构有关联的是()
A 函数的递归调用
B 数组元素的引用
C 多重循环的执行
D 先到先服务的作业调度
正确答案: D
类所实现的接口以及修饰不可以是()。
A void
B public
C abstract
D final
正确答案: D
下列关于栈叙述正确的是( )。 A 算法就是程序 B 设计算法时只需要考虑数据结构的设计 C 设计算法时只需要考虑结果的可靠性 D 以上三种说法都不对
正确答案: D
参考答案:
算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A 错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的
控制结构。
下面关于abstract关键字描述错误的是(D) A abstract关键字可以修饰类或方法 B final类的方法都不能是abstract,因为final类不能有子类 C abstract类不能实例化 D abstract类的子类必须实现其超类的所有abstract方法
结构化程序的三种基本结构是( ) A 递归、迭代和回溯 B 过程、函数和子程序 C 顺序、选择和循环 D 调用、返回和选择
正确答案: C
参考答案:
仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为 C 选项。
对于abstract声明的类,下面说法正确的是
A 可以实例化
B 不可以被继承
C 子类为abstract
D 只能被继承
E 可以被抽象类继承
正确答案: E
1GB 的准确值是( )。
A 1024×1024 Bytes
B 1024 KB
C 1024 MB
D 1000×1000 KB
正确答案: C
参考答案:
1GB=1024MB=1024 × 1024KB=1024 × 1024 × 1024B
下面选项中,哪些是interface中合法方法定义?()
A public void main(String [] args);
B private int getSum();
C boolean setFlag(Boolean [] test);
D public float get(int x);
正确答案: A C D
下面哪些类实现或继承了 Collection 接口?
A HashMap
B ArrayList
C Vector
D Iterator
正确答案: B C
以下为 java 语法保留不能作为类名和方法名使用的是
A default
B int
C implements
D throws
正确答案: A B C D
编程题
标题:计算糖果 | 时间限制:1秒 | 内存限制:32768K | 语言限制: 不限
【计算糖果】A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.
现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int y1,y2,y3,y4;
float a,b,c;
while (in.hasNextInt()) {
y1 = in.nextInt();
y2 = in.nextInt();
y3 = in.nextInt();
y4 = in.nextInt();
a=(y1+y3)/2f;
b=(y3-y1)/2f;
c=(y4-y2)/2f;
if((a-((y1+y3)/2))!=0){
System.out.print("No");
return ;
}
if((b-((y3-y1)/2)!=0)||(b!=((y2+y4)/2))){
System.out.print("No");
return ;
}
if((c-((y4-y2)/2))!=0){
System.out.print("No");
return ;
}
//满足所有的约束条件,输出解。
System.out.print((int)a+" "+(int)b+" "+(int)c);
}
}
}
标题:进制转换 | 时间限制:1秒 | 内存限制:32768K | 语言限制:不限
给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int radix = in.nextInt();
char[] chars = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
boolean negative = false;
if (num < 0) negative = true;
StringBuilder sb = new StringBuilder();
num = Math.abs(num);
while (num >= radix) {
sb.insert(0, chars[num % radix]);
num /= radix;
}
sb.insert(0, chars[num]);
System.out.println((negative ? "-" : "") + sb.toString());
}
}