gpt4 book ai didi

java - 在 switch 语句中调用忽略大小写

转载 作者:行者123 更新时间:2023-11-29 07:24:28 24 4
gpt4 key购买 nike

在下面包含 switch 语句的代码中,是否可以合并 equalsIgnoreCase 方法,即无论是否输入 a 或 A 等,用户都会收到成绩信息,等等?

我设法通过使用“将用户输入转换为大写”方法获得了正确的结果,但我很好奇这里是否可以使用 ignoreCase 方法。我尝试这样做,但它似乎没有任何效果,可能是因为 ignoreCase 是一个 boolean 值,它返回 true/false 结果,而不是消息。我尝试对此进行研究,但所有在线结果都建议使用 toUpperCase 方法,这是我已经尝试过的方法。

  Scanner scan = new Scanner(System.in);
System.out.println("Please enter grade.");
String gradeLetter = scan.next();
String message = "A";
switch (gradeLetter) {
case "A":
message = "Excellent!";
break;
case "B":
message = "Good job.";
break;
case "C":
message = "You passed.";
break;
case "D":
message = "You can do better.";
break;
case "F":
message = "You failed.";
break;
default: message = gradeLetter + " is invalid.";
}

System.out.println(message);

最佳答案

你可以 switch (gradeLetter.toUpperCase())但这看起来像是 Map<String, String> 的更好用例大部头书。有点像

Scanner scan = new Scanner(System.in);

Map<String, String> map = new HashMap<>();
map.put("A", "Excellent!");
map.put("B", "Good job.");
map.put("C", "You passed");
map.put("D", "You can do better.");
map.put("F", "You failed.");

// ... No Loop?
System.out.println("Please enter grade.");
String gradeLetter = scan.next();

System.out.println(map.getOrDefault(gradeLetter.toUpperCase(),
String.format("%s is invalid.", gradeLetter)));

关于java - 在 switch 语句中调用忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56909542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com