Java

Error Message error : illegal start of type 번역 : 잘못된 유형 시작 Cause class Solution { public String solution(String[] seoul) { int i = 0; for (String s : seoul) { if (s.equals("Kim")) { break; } i++; } } return "김서방은 " + i + "에 있다"; } Illegal start of type 오류는 일반적으로 Java에서 발생하는 컴파일 타임 에러입니다. 다음과 같은 상황에서 발생합니다. 잘못된 선언 : 변수 또는 메서드의 선언이 잘못되었을 때 발생합니다. 스코프 문제 : 클래스, 메서드, 블록 내의 선언이 올바르게 이루어지지 않았을 때 발생합니다..
Error Message error: incompatible types: String[] cannot be converted to char[] 번역 : 호환되지 않는 유형입니다: 문자열[]을 문자[]로 변환할 수 없습니다. Cause class Solution { boolean solution(String s) { int p = 0; int y = 0; char[] chars = s.toUpperCase().split(" "); ... } } 이 에러 메시지는 String[] 타입의 결과를 char[] 타입의 변수에 할당하려고 할 때 발생합니다. split(" ") 메서드는 문자열을 분할하여 String[] (문자열 배열) 형태로 반환합니다. 그러나 코드에서는 char[] (문자 배열)로 이 결과를 받으..
Error Message error: no suitable method found for split(no arguments) 번역 : split(인자 없음)에 적합한 메서드를 찾을 수 없습니다. Cause class Solution { boolean solution(String s) { ... s.toUpperCase().split(); ... } } split() 메서드에 필요한 인자가 제공되지 않았을 때 발생하는 에러입니다. split() 메서드는 문자열을 분할하는 데 사용되며, 이를 위해 하나 이상의 문자열을 인자로 받아야 합니다. 이 인자는 분할 기준이 되는 정규 표현식을 나타냅니다. 예를 들어, 문자열을 공백을 기준으로 분할하려면, split(" ")와 같이 사용해야 합니다. 하지만 여기서는 s..
ExceptionMessage Exception : java.lang.ArrayIndexOutOfBoundsException: Index x out of bounds for length x 번역 : java.lang.ArrayIndexOutOfBoundsException: 길이 x에 대한 인덱스 x 범위를 벗어났습니다. Cause class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; answer[0] = x; for (int i = 1; i
Error Message error: unreachable statement 번역 : 도달할 수 없는 명령문 Cause class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i
Error Message error: incompatible types: possible lossy conversion from long to int 번역 : 호환되지 않는 유형 : long에서 int로 손실 변환 가능 Cause int는 정수형 변수로 실수형을 int로 변환하면 소수점에 있는 수가 손실돼요.. long을 int로 저장하는 것은 손실되는 값이 존재하기 때문에 Java에서는 허용하지 않습니다..! Solution 1. solution 우선, long값을 int로 변환하기 전에 값이 int 범위 내에 있는지 검사하는 방법이 있습니다. 이렇게 하면 값이 손실되지 않게할 수 있습니다. long longVal = 123456789L; if (longVal >= Integer.MIN_VALUE &&..
Error Message error : missing return statement 번역 : 반환문 누락 Casue 위 문제는 메서드의 반환 값을 가지는 메서드에서 반환문이 누락되는 경우 또는 모든 분기에서 반환을 보장하지 않는 경우에 발생합니다. 예를 들어, 메서드의 반환 유형을 가지는 메서드에서 반환문 누락 public int solution(int n) { // 반환문 누락 } 모든 분기에서 반환을 보장하지 않는 경우 public int solution(int n) { if (조건문) { return 1; } // 조건문이 false일 때 반환문 누락 } 예외 처리가 필요한 상황에서 예외를 처리하지 않은 경우 public int solution(int n) { if (조건문) { // 예외처리 누락..
자바 코드를 작성할 때는 다음과 같은 주의할 점들이 있습니다. 1. NullPointerException NPE는 개발 시 발생할 수 있는 예외 상황 중 하나이며, 발생 가능성을 고려하지 않고 null 체크를 하지 않은 경우 발생할 수 있습니다. Java 8 이후에는 Optional 클래스를 사용하여 이러한 상황을 방지할 수 있습니다. 예를 들어, String의 equals() 메서드에서도 null 체크를 하지 않으면 NPE가 발생할 수 있으므로 항상 null 체크를 해주는 것이 좋습니다. // Bad Case : name으로 null값이 넘어오면 NPE 발생 public boolean isKim(String name) { return name.equals("Kim"); } // Good Case : n..
자바 코드를 작성할 때는 다음과 같은 주의할 점들이 있습니다. 1. 예외 처리 자바에서는 예외 처리가 강제되기 때문에, try-catch 블록을 적절하게 사용해야 합니다. 예외 처리를 제대로 하지 않으면 프로그램이 비정상적으로 종료될 수 있습니다. 2. 메모리 누수 자바는 가비지 컬렉션을 사용하여 메모리 관리를 자동으로 처리합니다. 하지만, 객체 참조를 명시적으로 null로 초기화하지 않으면, 메모리 누수가 발생할 수 있습니다. 자바 8 이후로, 스트림 API, Optional 등의 특성들로 인해 코드에서 명시적으로 객체를 null로 설정하는 경우가 줄어들었습니다. 3. 스레드 관리 자바에서는 멀티스레드 프로그래밍이 가능합니다. 하지만, 스레드 동기화에 주의하지 않으면, 경합 조건(Race Conditi..
자바(Java)는 객체 지향적이며, 이식성이 뛰어나고, 안정성과 보안성이 높은 프로그래밍 언어입니다. 자바의 역사 자바의 역사는 1991년에 썬 엔지니어들에 의해 고안된 오크(Oak)라는 언어에서 시작되었습니다. 자바의 원래 목표는 가전제품에 탑재될 소프트웨어를 만드는 것이었습니다. 자바란 자바는 객체 지향 프로그래밍 언어로 대규모 소프트웨어 개발을 하고 있습니다. 자바는 주로 서버 프로그래밍, 안드로이드 앱 개발, 웹 프로그래밍, 게임 개발, 빅데이터 등 다양한 분야에서 사용됩니다. 자바로 소프트웨어를 개발할 때의 가장 이점 중 하나는 이식성입니다. 자바는 다양한 운영체제와 하드웨어에서 동작하며, 가상 머신(Virtual Machine)을 사용하여 이식성이 높은 언어입니다. 자바의 주요 목표는 "한 번..
규니95
'Java' 태그의 글 목록