java - if 语句未在此介质查找代码中运行
问题描述
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num1, num2, num3;
System.out.println("Enter first number.");
num1 = scan.nextInt();
System.out.println("Enter second number.");
num2 = scan.nextInt();
System.out.println("Enter third number.");
num3 = scan.nextInt();
if(num1 > num2 && num2 > num3) {
System.out.println("Medium value is: " + num2);
} else if (num3 > num1 && num1 > num2) {
System.out.println("Medium value is: " + num1);
} else if (num1 > num3 && num3 > num2) {
System.out.println("Medium value is: " +num3);
}
}
}
我编写了这段代码来从输入的数字中找到中间数字,但是 if 语句没有运行。
解决方案
不完全是您问题的答案,但为什么不完全摆脱这些if
陈述并尝试以下方法:
return Math.max(Math.max(Math.min(num1, num2), Math.min(num2, num3)), Math.min(num1, num3));
// [0, 10, 10] -> 10
// [50, 30, 20] -> 30
// [1, 1, 1] -> 1
// etc.
这也将处理数字相等或三个中的两个相等的情况。
推荐阅读
- xml - 使用 ghostscript 将文本从 eps 提取到 xml
- python - 实例文件夹中的 Flask 数据库
- reactjs - 如何从 abi/address 创建 dapp 用户界面
- c# - 将信息导出到 xlsm 文件,C# VS asp.net
- vba - 为什么 VBScript 可以读取某些 Windows 注册表值,而 VBA 不能读取?
- flutter - flutter google_mobile_ads - 退出应用程序时使用横幅
- sql - 如何使用递归 cte 或 SQL 中的其他方法累计计算不同的字段?
- cluster-computing - OpenMPI 4.1.1 仅由 root 执行
- flutter - Flutter ChangeNotifierProvider 和 Consumer 回调
- javascript - 首先显示 div 而不滚动