我的目标是让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 >= 1
Math.min(1, n)
将始终返回1
,如果n <= 5
,Math.max(5, n)
将始终返回5
。您需要交换它们:
System.out.printf("%dn", Math.max(1, Math.min(5, userNum)));