목록JAVA (9)
인사이트
ArrayIndexOutOfBoundsException : 지금 당신이 찾으려고 하는 값은 제가 가지고 있는 배열의 범위를 벗어났습니다. 저는 찾아드릴 수 없어요. 오류메시지 : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5 at com.exception.ArrayIndexOutOfBoundsExceptinoExample.main(ArrayIndexOutOfBoundsExceptinoExample.java:10) - "main스레드 실행 중에 ArrayIndexOutOfBounds예외가 발생했네요. index에는 값이 5개 밖에 없는데 그 범위를 넘겨셨네요. 오류가 ..
NullPointerException : 주소값을 몰라서 당신이 찾으려고 하는 게 어디있는지 모르겠습니다. 오류메시지 : Exception in thread "main" java.lang.NullPointerException at com.exception.NullPointerException.main(NullPointerException.java:9) - "main스레드실행중에 nullpoiner예외가 발생했네요. 그 위치는 9번째 라인이예요 가서 확인해보세요"라는 의미 뭐가 오류가 났나 확인해보자 public class NullPointerException { public static void main(String[] args) { String str = null; System.out.println(s..

1. 서로 다른 패키지에 있는 같은 이름의 클래스를 import하는 방법 여기 아래 패키지는 다르지만 클래스의 이름은 같은 두 클래스가 있습니다 두 클래스를 객체로 만들어보려고 하는데 어?! 잠시만요 지금 두 class의 이름이 모두 Tire네요. 그럼 저건 누구 타이어일까요..? 한국패키지의 타이어? 금호패키지의 타이어? 프로그램은 누구로 인식할까요? 그래서 일단 import를 해보려고 보니 둘 중에 하나를 선택하라고 하는군요! (아쉽게도 두 개 모두 선택은 불가능합니다. 실제로 그렇게 해 보면 둘 중 하나는 지우라는 이클립스의 조언을 듣게 될 겁니다) 그래서 일단은 위에 있는 걸 import했습니다 그러면 한국타이어는 어떻게 해야할까요? import를 어떻게 하죠? 방법이 전혀 없는걸까요? 그렇지 않..
클래스 구성 시 아래 내용들이 반드시 모두 필요한 것은 아니다. 1. 변수 1) 인스턴스 변수 가. 생성방법 : int iv 나. 생성자에 의한 초기화 가능 다. 해당하는 클래스를 생성(인스턴스화)할 때마다 메모리가 할당 되어짐 2) 클래스(static) 변수 가. 생성 방법 : static int cv 나. 생성자에 의한 초기화 불가능 다. 해당하는 클래스를 몇 번 만들어도 딱 한 번만 할당 되어짐 라. 객체의 생성 없이 사용 가능 마. 사용 방법 : 클래스이름.변수명 2. 상수 - 변경이 불가한 변수 - 선언 방법 : final double Pi (상수명의 첫 글자는 대문자로 시작한다) - 반드시 초기화해서 선언한다 - 생성자를 통해서 초기화 가능 3. 생성자 - 자동으로 디폴트 생성자가 생성됨(눈에..
* 향상된 for문(1차원 배열) /* 형태 for (변수타입 변수명 : 배열의 이름) { } */ // 사용예제 int[] score = {1, 2, 3, 4, 5}; for (int num : score) { System.out.print(num + " "); } * 향상된 for문(2차원 배열) - \t는 숫자 사이 간격이 tab만큼 벌어진거라고 이해하면 된다. /* 형태 for (1차원배열타입 변수선언 : 배열의 이름) { for (배열값의타입 변수명 : 배열의 이름) { } } */ int[][] setScore = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 }, { 13, 14, 15 } }; // 사용 예제 for (int[] row : ..
* 내림차순 // 정렬 알고리즘(내림차순) int[] score = {36, 65, 3, 12, 78}; for (int i = 0; i score[j]) {
아래는 내가 짜봤던 코드이고 다음과 같은 걸 구하는 코드이다 1. 합계 2. 평균(셋째 자리에서 버리고 둘째자리까지 나타내기) 3. 평균(셋째 자리에서 반올림해서 둘째자리까지 나타내기) // 합계, 평균 계산 방법 1 int[] score = { 98, 78, 87 }; int totalSum = 0; double avgD = 0.0; int avgI = 0; for (int i = 0; i < score.length; i++) { totalSum += score[i]; } System.out.println("총점은 " + totalSum); avgD = (double) totalSum / score.length; System.out.println("평균은 " + avgD); avgI = totalSum..
num의 값 123456789를 뒤집어서 987654321을 만들어보자! int num = 123456789; int reverse = 0; while (num != 0) { int digit = num % 10; reverse = reverse * 10 + digit; num /= 10; } System.out.println(reverse); 계획 1. 123456789를 끝에서부터 한 개씩 자른다 2. 잘려진 숫자를 맨 앞에 차례대로 위치시킨다 어떻게 끝에 숫자를 가져올 수 있을까? num을 10으로 나눈 나머지를 가져오면 된다. 무슨 말이냐면 123456789를 10으로 나누면 몫이 123456780이고 나머지가 9가 된다. 그래서 나머지를 가져온다는 건 마지막 자리 숫자를 가져오겠다는 말과 같은 ..