外观
随堂实操任务清单 第 3 讲
💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。
实操 1Scanner 换行符残留陷阱与标准解决方案
ScannerTrapDemo.javajava
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.javajava
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.javajava
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("=========================================");
}
}=========================================
学生成绩评定与统计系统
=========================================
请输入学生姓名: 张三
请输入期末卷面成绩 (0~100): 88.5
-----------------------------------------
* 学生姓名 : 张三
* 卷面得分 : 88.50 分
* 等级评定 : 良好 (B)
=========================================
不想公开提问?
关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。