1. 字符转 ASCII 码
问题描述 BoBo 教 KiKi 字符常量或字符变量表示的字符在内存中以 ASCII 码形式存储。输入一个字符,输出该字符相应的 ASCII 码。
输入描述 一行,一个字符。
输出描述 一行,输出输入字符对应的 ASCII 码。
实现思路
Java 中没有直接的字符输入方法,通常通过 Scanner 读取字符串,再取第一个字符。核心在于利用隐式转换或强制类型转换将 char 转为 int。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
// 读取整行并获取第一个字符
char c = sca.nextLine().charAt(0);
// 强转为整型输出 ASCII 值
int num = (int) c;
System.out.println(num);
}
}
2. 实现四舍五入
问题描述 将浮点数转换为整数类型,要求四舍五入。
输入描述 随机输入的浮点数。
输出描述 四舍五入之后的整数。
实现思路
这里需要处理正负数的情况。直接强转会截断小数部分(向零取整)。我们需要判断小数部分的绝对值是否大于等于 0.5。虽然 Java 提供了 Math.round(),但理解底层逻辑对面试很有帮助。
注意:对于负数,(int) 是向零取整。例如 -1.6 会变成 -1,而四舍五入应该是 -2。
import java.util.Scanner;
public class Main {
public static void {
(System.in);
num.nextDouble();
() d;
(a >= ) {
(d - a >= ) {
System.out.println(a + );
} {
System.out.println(a);
}
} {
(Math.abs(d - a) >= ) {
System.out.println(a - );
} {
System.out.println(a);
}
}
}
}


