簡體   English   中英

Java Math.min Math.max 錯誤

[英]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("%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);
        }

}

Math.min(1, n)將始終返回1 ,如果n >= 1Math.max(5, n)將總是返回5如果n <= 5 你需要交換它們:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM