基础篇课后习题答案,做了大部分,虽然不一定是最佳代码,但是保证每个都能运行,如有更好的答案,欢迎讨论
4.1 计算五边形面积
Scanner scanner = new Scanner(System.in);
System.out.print("请输入五边形从中心点到顶点的距离:");
double r = scanner.nextDouble();
double s = 2 * r * (Math.sin(Math.PI / 5));
double area = (5 * Math.pow(s, 2)) / (4 * Math.tan(Math.PI / 5));
System.out.printf("五边形的面积为:%1.2f", area);
4.4 计算六边形面积
Scanner scanner = new Scanner(System.in);
System.out.print("请输入六边形的边长:");
double s = scanner.nextDouble();
double area = (6 * Math.pow(s, 2)) / (4 * Math.tan(Math.PI / 6));
System.out.printf("六边形的面积为:%1.2f", area);
4.8 ASCII对应字符
Scanner scanner = new Scanner(System.in);
System.out.print("请输入ASCII码(0~127):");
int ascii = scanner.nextInt();
char c = (char) ascii;
System.out.print("对应的字符为:" + c);
4.9 字符对应ASCII
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符:");
String str = scanner.nextLine();
char c = str.charAt(0);
int i = (int) c;
System.out.print("对应的ASCII码为:" + i);
4.11 十进制转十六进制
Scanner scanner = new Scanner(System.in);
System.out.print("请输入十进制数(0~15):");
int num = scanner.nextInt();
if (num >= 0 && num <= 9) {
System.out.print("对应十六进制数为:" + num);
} else if (num >= 10 && num <= 15) {
int i = num - 10 + 'A';
System.out.print("对应十六进制数为:" + (char) i);
} else {
System.out.print("输入范围有误!");
}
4.12 十六进制转二进制
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个十六进制数:");
String str = scanner.nextLine();
int i = Integer.parseInt(str, 16);
String out = Integer.toBinaryString(i);
System.out.print("对应的二进制为:" + out);
4.13 判断元音还是辅音
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字母:");
String str = sc