好的,我有一个练习要做,我需要找到一个数字中的最高和最低位数并将它们加在一起。所以我有一个数字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个参数。我该怎么做?提前感谢。
答案 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);