자바 10진수 입력 -> 16진수 출력하기
조회수 2051회
배열을 이용해서 10진수를 16진수로 출력해야하는데 scanner로 값입력받고 if문에서 출력해줄때 에러가납니다. 한번 봐주시면 감사하겠습니다.
==================================
private static int count;
private static Object intput;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
char[] hex_out = new char[4];
int remainder = 0;
System.out.println("1~20000사이 정수값을 입력하세요");
int x = scanner.nextInt();
for (int i=0; i<4; i++) {
remainder = x%16;
x=x/16;
if (remainder>9) {
hex_out[3-i] = (char)(remainder-10+'A');
System.out.println("" + hex_out[str.charAt(i)]);
//scan으로 값입력까지는 잘되는데 이부분에서 에러가납니다.
}
else if (remainder<10) {
hex_out[i] = (char)(remainder-0);
System.out.println("" + hex_out[str.charAt(i)]);
}
}
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
System.out.println("" + hex_out[str.charAt(i)]); //scan으로 값입력까지는 잘되는데 이부분에서 에러가납니다.
str.charAt(i) 에서 str라는 변수가 코드 어디에도 선언되어 있지 않네요.
근데 변수가 없어서 컴파일 에러가 발생할텐데 scan으로 값이 입력된다는게 이상하네요~
-
아 str은 String str = " korea";
위에 선언했었는데 앞에 다른출력
코드좀 지우고 올리다 지웠었네요
값을 입력하세요 까지는뜨고 입력하면 에러가 나는 상황입니다
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력