我的目标是让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("%d\n", Math.min(1,
Math.max(5, userNum)));
}
public static void main(String[] args) {
TestMax TestMax = new TestMax();
int userNum = TestMax.inputNum();
TestMax.displayNum(userNum);
}
}发布于 2020-02-12 07:27:00
如果n >= 1为Math.min(1, n),则始终返回1;如果为n <= 5,则Math.max(5, n)始终返回5。您需要交换它们:
System.out.printf("%d\n", Math.max(1, Math.min(5, userNum)));https://stackoverflow.com/questions/60178792
复制相似问题