如何找到多位数字中的最高位?

时间:2014-11-04 15:52:40

标签: java numbers digit highest

好的,我有一个练习要做,我需要找到一个数字中的最高和最低位数并将它们加在一起。所以我有一个数字n是5368,代码需要找到最高(8)和最低(3)数字并将它们加在一起(11)。我怎么做?我尝试过这样的事情:

public class Class {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int n1 = 5;
        int n2 = 3;
        int n3 = 6;
        int n4 = 8;
        int max = Math.max(n2 ,n4);
        int min = Math.min(n2, n4);
        int sum = max + min;

        System.out.println(sum);
    }

}

哪种方式有效但我在这里有一个4位数字,并且使用Math.max / min我只能使用2个参数。我该怎么做?提前感谢。

1 个答案:

答案 0 :(得分:3)

我假设打算从n = 5368开始,所以你需要一个循环来拉动每个数字并将其与当前的最小/最大值进行比较

int n = 5368;
int result = 0;

if (n > 0) {
    int min = Integer.MAX_VALUE;
    int max = Integer.MIN_VALUE;

    while (n > 0) {
        int digit = n % 10;

        max = Math.max(max, digit);
        min = Math.min(min, digit);

        n /= 10;
    }

    result = min + max;
}

System.out.println(result);