Java工程师程序设计题
黄鸭 2/23/2023 server
# 1.计算邮费
请根据邮件的重量和用户选择是否加急计算邮费?
计算规则:
- 重量在1000以内(包括),基本费10元;
- 超过1000克的部分,每500克加收超重费5元,不足500克部分按500克计算;
- 如果用户选择加急,多收8元。
输入:
输入一个正整数x和一个字符c(y 或 n),之间用一个空格隔开,分别表示重量和
是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
输出:输出一个正整数,表示邮费。
查看答案
public class CalculatePostage {
public static void main(String[] args) {
double x = Integer.parseInt(args[0]);
String c = args[1];
System.out.println(x);
System.out.println(c);
int num = 0;
if(x<=1000){
num = 10;
}else{
double a = Math.ceil((x-1000)/500);
System.out.println((x-1000)/500);
System.out.println(Math.ceil((x-1000)/500));
num = 10 + (int)a*5;
}
if(c.equals("y")){
num+=8;
}
System.out.println("一共"+num+"元");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 2.爱因斯坦的阶梯
请写程序计算该阶梯至少有多少阶?
计算规则:
- 爱因斯坦有一个长阶梯,若每步上2阶,最后剩下1阶;
- 若每步上3阶,最后剩2阶;
- 若每步上5阶,最后剩下4阶;
- 若每步上6阶,最后剩5阶;
- 只有每步上7阶,最后刚好一阶也不剩
输入:无
输出:阶梯的最小值
查看答案
public class Stairs {
public static void main(String[] args) {
int num = 29;
while(true){
num += 30;
if(num%7==0){
System.out.println(num);
break;
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 3.矩阵填充
观察例1和例2的旋转规律,填充如下形式的方阵
例1
3阶方阵
1 8 7
2 9 6
3 4 5
例2
5阶方阵
1 16 15 14 13
2 17 24 23 12
3 18 25 22 11
4 19 20 21 10
5 6 7 8 9
输入:
输入一个整数n,不会大于10,表示矩阵的阶。上面的两个例子输入为 3 和 5 。
输出:
输出填充后的矩阵,每个数字占4位。请参考上面 例1 和 例2 设计输出。
查看答案
public class Matrix {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
int[][] a = new int[x][x];
int y = 0;
int num = 1;
while(y<x){
for(int j=y;j<x-1;j++){
a[j][y] = num;
num++;
}
for(int j=y;j<x-1;j++){
a[x-1][j] = num;
num++;
}
for(int j=x-1;j>=y+1;j--){
a[j][x-1] = num;
num++;
}
for(int j=x-1;j>=y+1;j--){
a[y][j] = num;
num++;
}
if(x-1 == y){
a[y][y] = num;
}
y++;
x--;
}
for (int[] is : a) {
for (int is2 : is) {
System.out.print(is2);
System.out.print("\t");
}
System.out.print("\n");
}
System.out.println(a);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39