티스토리 뷰
[주제]
- 'string'을 활용하여 진수 변환 프로그램 만들기
[중요]
- 결과 출력 시 '10진수 → 2진수'의 경우 나머지가 계산되는 대로 넣었기 때문에 'for문'을 사용하여 거꾸로 출력
- '10진수 → 16진수'의 경우 'strHnum = temp + strHnum' temp 값을 'strHnum' 보다 먼저 대입함으로써 위의 번거로움을 해결
[소스 코딩]
package stringClass2; import java.util.Scanner; class stringClass2 { public static void main(String[] args) { // 진수 변환 프로그램 Scanner scan = new Scanner(System.in); int mok = 0; int dNum = 0; int dNumTemp = 0; // 10진수 → 2진수(문자열) String strBnum = new String(); boolean transLoop1 = true; System.out.println("[10진수를 2진수로 변환]"); System.out.print("10진수를 숫자를 입력해주세요 = "); dNum = scan.nextInt(); mok = dNum / 2; strBnum = strBnum + (dNum % 2); while (transLoop1) { if (mok == 1) { transLoop1 = false; strBnum = strBnum + Integer.toString(mok); break; } strBnum = strBnum + (mok % 2); mok = mok / 2; } System.out.print("10진수 \'" + dNum + "\'의 2진수는 = "); for (int i = strBnum.length() - 1; i >= 0; i--) { System.out.print(strBnum.charAt(i)); } System.out.println(); mok = 0; // 10진수 → 16진수(문자열) String strHnum = ""; dNum = 0; String temp; System.out.println("[10진수를 16진수로 변환]"); System.out.print("10진수를 숫자를 입력해주세요 = "); dNum = scan.nextInt(); mok = dNum / 16; dNumTemp = dNum % 16; switch (dNumTemp) { case 10: temp = "A"; break; case 11: temp = "B"; break; case 12: temp = "C"; break; case 13: temp = "D"; break; case 14: temp = "E"; break; case 15: temp = "F"; break; default: temp = Integer.toString(dNumTemp); } strHnum = temp + strHnum; while (true) { if (mok < 16) { strHnum = Integer.toString(mok) + strHnum; break; } dNumTemp = mok % 16; switch (dNumTemp) { case 10: temp = "A"; break; case 11: temp = "B"; break; case 12: temp = "C"; break; case 13: temp = "D"; break; case 14: temp = "E"; break; case 15: temp = "F"; break; default: temp = Integer.toString(dNumTemp); } strHnum = temp + strHnum; mok = mok / 16; } System.out.print("10진수 \'" + dNum + "\'의 16진수는 = "); System.out.print(strHnum); System.out.println(); scan.close(); } } | cs |
■ 실행결과
'프로그래밍 언어 > Java(연습)' 카테고리의 다른 글
로또 번호 추첨 프로그램 (0) | 2016.04.26 |
---|---|
cast(형변환) (0) | 2016.04.26 |
string(문자열) (0) | 2016.04.25 |
array (0) | 2016.04.25 |
계산기(두 수만 입력 받기) (0) | 2016.04.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 독해
- java
- Pte
- 영어
- 일기
- ADODB
- 정렬
- 왕초보 영어회화 100일의 기적
- 작문
- 설명
- 대상
- 여행영어 100일의 기적
- 계산기
- VCL
- 말하기
- wfd
- SWT
- SysUtils
- 스택
- 교육센터
- RA
- 자료구조
- tdataset
- 응용
- System
- Delphi
- Reference
- 상황
- 알고리즘
- 문법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함