배열
자주 나오는 에러
- index값이나 배열 size를 변수로 두는 경우, 변수의 값을 제대로 예상하지 못했을 때 나타나는 오류
ArrayIndexOutOfBoundsException
class Ex1 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i <= arr.length; i++) {
System.out.println(arr[i]);
}
}
}
NegativeArraySizeException
class Ex1 {
public static void main(String[] args) {
int[] arr;
int size = -1;
arr = new int[size];
}
}
예시 코드 - 객체가 원소로 들어가는 경우
import java.util.Scanner;
class Car {
public int speed;
public int mileage;
public String color;
public Car() {
speed = mileage = 0;
color = "red";
}
public void speedUp() {
speed += 10;
}
public String toString() {
return "속도: " + speed + " 주행거리: " + mileage + " 색상: " + color;
}
}
public class CarTest {
public static void main(String[] args) {
final int NUM_CARS = 5;
Car[] cars = new Car[NUM_CARS];
for (int i = 0; i < cars.length; i++) {
cars[i] = new Car();
}
for (int i = 0; i < cars.length; i++) {
cars[i].speedUp();
}
for (int i = 0; i < cars.length; i++) {
System.out.println(cars[i]);
}
}
}