2014-11-04 5 views
-1

좋아요. 할 일이있어서 번호에서 가장 높은 숫자와 가장 낮은 숫자를 찾아서 함께 추가해야합니다. 그래서 숫자가 n 인 5368이고 코드는 가장 높은 숫자 (8)와 ? 그렇게 내가해야합니까 나는 이런 식으로 뭔가를 시도 괜찮나 가장 낮은 (3) 번호와 함께 추가 (11) : 좀 작동하지만 내가 여기 Math.max와 4 자리 번호가어떻게 여러 자리 숫자 중에서 가장 높은 숫자를 찾을 수 있습니까?

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); 
    } 

} 

/min 2 건만 사용할 수 있습니다. 어떻게해야합니까? 미리 감사드립니다. 최대/최소 :

+0

중복 가능성을 최대 가정 배열의 값?] (http://stackoverflow.com/questions/1484347/java-max-min-value-in-an-array) – jruizaranguren

+1

한 가지 해결책 :'String.valueOf (int)'를 사용하여 전화 번호 변환 'String'으로'char []'를 가져 와서 정렬하고 첫 번째와 마지막 인덱스를 얻습니다. 각 문자의 값을 추출하려면'c - '0' '을 사용하십시오. 그게 다야! –

답변

2

나는/의도는 그래서 당신은 각각의 자리로 끌어와 현재 분에 비교하는 루프가 필요합니다 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); 
+0

고마워, 내가 필요한 것 : D – Oktavix