一、主要目的
加深对switch语句的理解,并能够熟练运用switch语句解决复杂的条件判断问题。
二、主要内容
根据用户选择,完成以下功能:
1. 输入一个字符,判断其类型(大写字母、小写字母、数字、其他字符)并输出结果。
2. 输入一个成绩,根据成绩等级划分标准输出等级(A、B、C、D、F)。
3. 输入一个月份(1-12),判断该月份有多少天,并输出结果。
三、内容实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 判断一个字符是字母、数字还是其他字符");
System.out.println("2. 根据成绩判断等级");
System.out.println("3. 判断一个月份有多少天");
System.out.println("4. 退出程序");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline left-over
switch (choice) {
case 1:
System.out.println("请输入一个字符:");
char c = scanner.nextLine().charAt(0);
if (Character.isLetter(c)) {
System.out.println(c + " 是一个字母.");
} else if (Character.isDigit(c)) {
System.out.println(c + " 是一个数字.");
} else {
System.out.println(c + " 是其他字符.");
}
break;
case 2:
System.out.println("请输入一个成绩:");
int score = scanner.nextInt();
if (score >= 90) {
System.out.println("等级:A");
} else if (score >= 80) {
System.out.println("等级:B");
} else if (score >= 70) {
System.out.println("等级:C");
} else if (score >= 60) {
System.out.println("等级:D");
} else {
System.out.println("等级:F");
}
break;
case 3:
System.out.println("请输入一个月份(1-12):");
int month = scanner.nextInt();
if (month == 2) {
System.out.println("该月份有28或29天(闰年有29天)");
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
System.out.println("该月份有30天");
} else if (month >= 1 && month <= 12) {
System.out.println("该月份有31天");
} else {
System.out.println("请输入有效的月份");
}
break;
case 4:
System.out.println("退出程序");
System.exit(0);
default:
System.out.println("无效的选择,请重新输入!");
}
}
}
}
四、重难点
本实验的重点在于熟练运用switch语句解决复杂的条件判断问题。难点在于如何处理不合法的输入情况,以及如何正确使用break语句和System.exit(0)来控制程序流程。在编写代码时,需要注意每个case后面要加上break语句,以防止执行其他的case代码块。同时,还需要正确判断和处理输入的合法性,以保证程序的稳定运行
五、心得体会
通过本次实验,我进一步巩固了对switch语句的理解和运用。在处理复杂的条件判断问题时,switch语句能够提供简洁清晰的代码结构,使得代码更易读、易于维护。在实验过程中,我遇到了一些挑战,比如如何处理不合法的输入情况。为了防止程序崩溃,我在每个case语句的末尾加上了default语句,用于处理无效的选择。此外,我还学会了如何使用break语句来跳出switch语句,以及使用System.exit(0)来退出程序。通过实验,我对条件判断和多重选择有了更深入的理解