Java Math.min Math.max Errors



我的目标是让java程序接收来自用户的输入,显示输入的数字,介于1到5之间。因此,如果用户输入大于 5 的数字,则显示为 5,如果数字小于 1,则显示为 1。但是,无论输入的数字如何,程序都只显示 1 的输出。

import java.util.Scanner;
public class TestMax {
int minNum = 1;
int maxNum = 5;
public int inputNum() {
Scanner userInput = new Scanner(System.in);
int userinput = Integer.parseInt(userInput.nextLine());
return (userinput);
} 
public void displayNum(int userNum) {
userNum = 0;
Math.min(userNum, minNum);
Math.max(userNum, maxNum);
System.out.printf("%dn", Math.min(1, 
Math.max(5, userNum)));
}
public static void main(String[] args) {    
TestMax TestMax = new TestMax();
int userNum = TestMax.inputNum();
TestMax.displayNum(userNum);
}
}

如果n >= 1Math.min(1, n)将始终返回1,如果n <= 5Math.max(5, n)将始终返回5。您需要交换它们:

System.out.printf("%dn", Math.max(1, Math.min(5, userNum)));

最新更新