文章目录
- 一、单选
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 二、不定项选择
- 1.
- 2.
- 3.
- 三、编程
- 1. 计算糖果
- 题解:
- 代码:
- 2. 进制转换
- 题解:
- 代码:
一、单选
1.
正确答案:D
队列先进先出
A:栈有关
B:错
C:错
2.
正确答案:D
3.
正确答案:D
栈先进后出
A:程序是算法,算法不一定是程序
4.
正确答案:D
A:abstract 可以修饰类 也可以修饰方法
D:abstract 的子类如果是抽象的就可以不实现
5.
正确答案:C
6.
正确答案:E
D:也可以组合
7.
正确答案:C
二、不定项选择
1.
正确答案:A,C,D
A:默认是个抽象方法 因为没有 static
B:接口就是为了被继承 但是被private 修饰就无法继承
C:默认都是 public 修饰
2.
正确答案:B,C
D:这里是迭代器
3.
正确答案:A,B,C,D
关键字都不可以使用
三、编程
1. 计算糖果
原题链接
题解:
这道题非常简单
只需将四个公式进行转化,这样就可以算出
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则表达式无解
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[4];
for (int i = 0; i < 4; i++) {
arr[i] = sc.nextInt();
}
int A = (arr[0] + arr[2]) / 2;
int B1 = (arr[1] + arr[3]) / 2;
int B2 = (arr[2] - arr[0]) / 2;
int C = (arr[3] - arr[1]) / 2;
if(B1 != B2) {
System.out.printf("No");
}else {
System.out.println(A + " " + B1 + " " + C);
}
}
}
2. 进制转换
原题链接
题解:
这里要进行进制转化,最基础的操作就是取余,余数就是
所以我们可以先对数字进行取余,然后存放起来
之后用字符逆序,就可以
这里我们要考虑到 0 的问题
还有负数问题
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
StringBuilder s = new StringBuilder();
String table = "0123456789ABCDEF";
boolean flg = false;
if(m < 0) {
m = -m;
flg = true;
}
if(m == 0) {
System.out.println(0);
}
while(m != 0) {
s.append(table.charAt(m % n));
m = m / n;
}
if(flg) {
s.append("-");
}
s.reverse();
System.out.println(s);
}
}