본문 바로가기

에러/JAVA

(4)
[에러] <JAVA> char cannot be dereferenced 원인 .toLowerCase()와 .toUpperCase()는 String관련 함수이기 때문에 char타입의 데이터에 사용하여 에러 발생 문제가 발생한 코드 char[] arr = a.toCharArray(); for(int i=0;i
[에러] <JAVA> while문 안에서 catch문으로 InputMismatchException을 처리할 때 무한 루프가 발생하는 문제 문제가 발생한 코드 Scanner sc = new Scanner(System.in); int n = 0; while (true) { try { System.out.println("정수를 >>"); n = sc.nextInt(); if (n 10) { System.out.println("1~10사이로 입력해주세요!"); } else { System.out.println(n + "을 입력했습니다."); break; } } catch (InputMismatchException e) { System.out.println("정수를 입력해주세요!"); } } 콘솔 출력 원인 처음에 입력한 문자열 값을 저장한 버퍼메모리를 비우지 않았기 때문이다. 해결 버퍼를 비워야한다. 해결 코드 } catch ..
[에러] <JAVA> JAVA에서의 문자열 비교 에러 발생 코드 answer = sc.next(); if (answer=="네") { break; } else { continue; } 에러 내용 콘솔에 "네"라고 입력을 해도 if문이 false를 반환 원인 JAVA의 String 타입은 연산자로 문자열를 비교 할 수 없다. 해결 JAVA에서는 문자열을 비교하기 위해선 equals라는 함수를 써야한다. 해결 코드 answer = sc.next(); if (answer.equals("네")) { break; } else { continue; }
[에러] <JAVA> Cannot invoke toString() on the primitive type int 에러 발생 코드 int a = 9 String a2 = a.toString(); 원인 toString으로 숫자 타입(int, Long)을 캐스팅할 때 일어난다. 기본적으로 Object 클래스의 toString() 메소드는 해당 인스턴스에 대한 정보를 문자열로 반환한다. 해결 String a2 = Integer.toString(a);