2014-04-07 3 views
0

문제 : 정수로 입력 한 다음 10 진수 및 동등한 16 진수 값을 1에서 2 열까지 해당 숫자까지 인쇄하십시오. 모든 16 진수는 대문자 여야합니다.십진수를 "대문자 알파벳"을 사용하여 16 진수로 변환하려면

import java.util.Scanner; 
class DecimalToHexa { 
    public static void main(String args[]) { 
     int n = 0; 
     Scanner in = new Scanner(System.in); 

     System.out.println("Enter a number "); 
     n = in.nextInt(); 
     for(int i=1; i<=n; i++) { 
      System.out.println(i + "\t" + Integer.toHexString(i)); 
     } 

    } 
} 

출력 :

Enter a number 14 
1 1 
2 2 
3 3 
4 4 
5 5 
6 6 
7 7 
8 8 
9 9 
10 a 
11 b 
12 c 
13 d 
14 e 

방법 대문자 알파벳으로 변환하는 방법을 가르쳐주세요. 이 같은

Integer.toHexString(i).toUpperCase() 
+1

문자를 사용하십시오. toUpperCase() –

+0

이 질문을 입력하는 것보다 Google이 더 빠를 것입니다 ... –

답변

3

사용를 toUpperCase() :

+0

도움을 많이 주셔서 감사합니다. – user3503832

5

당신은 String#toUpperCase() 방법을 사용할 수 있습니다

public static void main(String args[]) { 
    int n = 0; 
    Scanner in = new Scanner(System.in); 

    System.out.println("Enter a number "); 
    n = in.nextInt(); 
    for (int i = 1; i <= n; i++) { 
     System.out.println(i + "\t" + Integer.toHexString(i).toUpperCase()); 
    } 
} 
+0

도움을 주셔서 대단히 감사합니다. – user3503832

0
public static void main(String args[]) { 
    int n = 0; 
    Scanner in = new Scanner(System.in); 

    System.out.println("Enter a number "); 
    n = in.nextInt(); 
    for (int i = 1; i <= n; i++) { 
     System.out.printf("%d\t%X\n",i,i); 
    } 
} 

다른 방법을 진수로 INT를 변환.

String s = String.format("%X", num);

동일한 규칙의 printf에 대한 다음과 같습니다. Java에서 형식화 된 인쇄.

자본 X를 소문자로 x로 변경할 수 있습니다.

+0

나는 이것을 더 좋아한다. 왜 소문자로 문자열을 생성 한 다음 대문자로 시작할 수있을 때 변환할까요? –

관련 문제