Skip to content

随堂实操任务清单 第 3 讲

💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。

← 返回《Java程序设计》大纲


实操 1Scanner 换行符残留陷阱与标准解决方案ScannerTrapDemo.java
java
import java.util.Scanner;

/**
 * Scanner 换行符残留陷阱与标准解决方案
 * @author MatNoble
 */
public class ScannerTrapDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入您的年龄: ");
        int age = scanner.nextInt();
        
        // 吃掉残留的换行符
        scanner.nextLine();

        System.out.print("请输入您的座右铭: ");
        String motto = scanner.nextLine();

        System.out.printf("登记完成 -> 年龄: %d | 座右铭: \"%s\"\n", age, motto);
    }
}
实操 2健壮性控制台输入与非法字符拦截RobustInputDemo.java
java
import java.util.Scanner;

/**
 * 健壮性控制台输入与非法字符拦截
 * @author MatNoble
 */
public class RobustInputDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int score = -1;

        while (true) {
            System.out.print("请输入有效分数 (0~100): ");
            if (scanner.hasNextInt()) {
                score = scanner.nextInt();
                if (score >= 0 && score <= 100) {
                    break; // 输入合法,退出重试循环
                }
                System.out.println("[警告] 分数必须在 0 到 100 之间!");
            } else {
                String invalidToken = scanner.next();
                System.out.printf("[错误] \"%s\" 不是有效的整数,请重新输入!\n", invalidToken);
            }
        }

        System.out.printf("[成功] 录入分数: %d\n", score);
    }
}
实操 3学生成绩等级交互评定系统GradeEvaluationSystem.java
java
import java.util.Scanner;

/**
 * 随堂实操任务 3:学生成绩等级交互评定系统
 * @author MatNoble
 */
public class GradeEvaluationSystem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("=========================================");
        System.out.println("        学生成绩评定与统计系统        ");
        System.out.println("=========================================");

        System.out.print("请输入学生姓名: ");
        String name = scanner.nextLine().trim();

        System.out.print("请输入期末卷面成绩 (0~100): ");
        double score = scanner.nextDouble();

        String grade;
        // ===== TODO: 【实操任务 3】请在此补全代码 =====
        // 提示: 多分支 if-else 成绩等级划分 (90分及以上优秀,80分及以上良好,70分及以上中等,60分及以上及格,否则不及格)
        // 
        // ============================================

        System.out.println("-----------------------------------------");
        System.out.printf("  * 学生姓名 : %-10s\n", name);
        System.out.printf("  * 卷面得分 : %6.2f 分\n", score);
        System.out.printf("  * 等级评定 : %s\n", grade);
        System.out.println("=========================================");
    }
}
bash — java GradeEvaluationSystem (预期控制台输出)
=========================================
        学生成绩评定与统计系统        
=========================================
请输入学生姓名: 张三
请输入期末卷面成绩 (0~100): 88.5
-----------------------------------------
  * 学生姓名 : 张三        
  * 卷面得分 :  88.50 分
  * 等级评定 : 良好 (B)
=========================================

最后更新于:

数学思维探究社微信公众号图标

不想公开提问?

关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。

数学思维探究社