-
chapter2) 10진수 변환PS/etc 2020. 7. 8. 19:54
public class Q6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int no; // 변환하는 정수 int cd; // 기수 int dno; // 변환 뒤의 자릿수 int retry; // 한 번 더 ? char[] cno = new char[32]; System.out.println("10진수를 기수 변환 합니다."); do { do { System.out.println("변환하는 음이 아닌 정수 : "); no = scanner.nextInt(); } while (no < 0); do { System.out.println("어떤 진수로 변환 할까요? (2~36) : "); cd = scanner.nextInt(); } while (cd < 2 || cd > 36); dno = cardConv(no, cd, cno); System.out.println("dno : " + dno); System.out.println(cd + "진수는 "); for (int i = 0; i < dno; i++) { System.out.print(cno[i]); } System.out.println("입니다."); System.out.print("한번 더 할까요? (1.예 / 0.아니요) : "); retry = scanner.nextInt(); } while (retry == 1); } static int cardConv(int x, int r, char[] d) { int digits = 0; String dchar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; do { d[digits++] = dchar.charAt(x % r); x /= r; } while (x != 0); for (int i = 0; i < digits / 2; i++) { char temp = d[i]; d[i] = d[digits - i -1]; d[digits - i - 1] = temp; } return digits; } }
- 문제 말을 이해를 잘 못하겠어서 답안봄
- 이상하게 생각해서 못풀었음
- 다시 작성 할 수 있을지 모르겠음
- 한 번 더 생각해봐야할듯
- 저번에 써먹은 배열 반대정렬하는거 사용
- 자릿수로 배열 출력하는 횟수 지정
※참조
Do it! 자료구조와 함께 배우는 알고리즘 입문'PS > etc' 카테고리의 다른 글
chapter2) 그 해의 경과 일 수 구하기 (0) 2020.07.09 chapter2) 소수 구하기 (0) 2020.07.09 chapter2) 배열 요소의 합계 구하기 (0) 2020.07.07 chapter2) 배열 역순 정렬 (0) 2020.07.07 chapter1) 숫자 피라미드 찍기 (0) 2020.07.07