gpt4 book ai didi

java - 多个案例 - 基于值范围而不是 Java 中的单个值进行测试?

转载 作者:行者123 更新时间:2023-11-29 09:38:34 26 4
gpt4 key购买 nike

作为学习编写 Java 的一部分,我在网上找到了 switch多个案例的声明。

这个语句对我来说的问题是它将参数与我用作 case 的单个数字进行比较,但是如果我想根据值的范围来区分流参数属于?

有没有比使用大量 if 更优雅的方法?我正在寻找类似 cond 的东西Scheme 中的声明.

public class Assignment02Q03 {
public static void main(String[] args){
int grade = Integer.parseInt(args[0]);
if (grade >= 90) {
System.out.println("A");
} else {
if (grade >= 80 ){
System.out.println("B");
} else {
if (grade >= 70){
System.out.println("C");
}else {
if (grade >= 60){
System.out.println("D");
}else {
System.out.println("F");
}
}
}
}
}
}

一定有更优雅的东西:)

谢谢!

最佳答案

一般写成:

if (grade >= 90) {
System.out.println("A");
} else if (grade>=80 ) {
System.out.println("B");
} else if (grade>=70) {
System.out.println("C");
} else if (grade>=60) {
System.out.println("D");
} else {
System.out.println("F");
}

并不是说 else if 有什么特别之处。大括号可以替换为单个语句,在此为 if-else 语句。缩进与语言中的其他任何东西都不一样,但它是一个应该易于理解的习语。

对于表达式,还有三元运算符:

System.out.println(
grade>=90 ? "A" :
grade>=80 ? "B" :
grade>=70 ? "C" :
grade>=60 ? "D" :
"F"
);

关于java - 多个案例 - 基于值范围而不是 Java 中的单个值进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265074/

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