문제 다음의 코드를 보고, Console에 출력될 내용을 작성하세요

ArrayList인 Integer 타입의 리스트 datas가 선언되었다
그 리스트에 add() 메서드를 이용해 값 5개를 넣었다
System.out.println(datas); 를 통해 Console 창에 보이는 것처럼
datas가 갖고 있는 값들이 출력이 되었다.
for문은 -1부터 5보다 작은 4까지 반복하는 반복문이다
System.out.println(10/datas.get(i)); 에서는 10을 datas.get(-1) 부터 반복하며
나누는 행위를 하기 시작했다
datas의 리스트는 0번방부터 시작을 하기 때문에
-1에서 에러가 발생해 catch문에 들어가게 되고
if(i<0) 이라는 조건문에 걸려 HELLO를 출력하게 된다
다시
i는 0이 되고 10/-5
i는 1이 되고 10/-1
i는 2가 되고 10/0
i는 3이 되고 10/1
i는 4가 되고 10/5
를 하게 된다
어떤 수를0으로 나누게 되면 에러가 발생하게 된다
java.lang.NullPointerException
https://bobaejin.tistory.com/67
그런데 나는 0으로 나누면 에러가 발생한다고 확실한 기억 때문에
음수로 나눌 수 있다는 생각을 못하고 0처럼 에러가 날 것이라고 생각했다.. ㅜㅜ..
전체 코드
package Q;
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
ArrayList<Integer> datas = new ArrayList<Integer>();
datas.add(-5);
datas.add(-1);
datas.add(0);
datas.add(1);
datas.add(5);
System.out.println(datas);
for(int i=-1; i<5; i++) {
try {
System.out.println(10/datas.get(i));
} catch (Exception e) {
if(i<0) {
System.out.println("HELLO");
} else {
System.out.println("JAVA");
}
}
}
}
}
실행결과는

10을 0으로 나누었을 경우에만 에러가 발생하므로
catch문에 들어가 JAVA를 출력하였다
package test;
class A {
int apple;
String banana;
void func(int num) {
num++;
this.apple++;
}
}
public class TEST {
public static void main(String[] args) {
int apple;
A a=new A();
//System.out.println(apple);
System.out.println(a.apple);
int num=123;
a.func(num);
System.out.println(num);
System.out.println(a.apple);
// Q3. num의 값이 123으로 유지되는 이유는?
// Q4. num의 값이 124로 변경되기위한 방법은?
String str="banana";
if(a.banana.equals(str)) {
System.out.println("확인 1");
} else {
System.out.println("확인 2");
}
}
}
Q4. num의 값이 124로 변경되기위한 방법은?
내가 쓴 답 : Q4. 배열로 변경하여 call by reference인 참조에 의한 호출을 해야 한다
주소값을 보내 값을 변경할 수 있도록 수정했지만
A클래스의 메서드를 int로 변경하여 값을 바꿀수도 있다
java.lang.NullP
ointerException
java.lang.ArithmeticException
java.lang.ArithmeticException
java.lang.ArithmeticException
java.lang.ArithmeticException
'🍏 개발일기' 카테고리의 다른 글
| 페이지네이션 (0) | 2025.12.05 |
|---|---|
| 결제 API에 대하여 (0) | 2025.11.28 |
| 웹 크롤링 | 라이브러리 JAVA에 다운로드하기 | 선택자 (0) | 2025.10.29 |
| MVC연습하기 - 7. 종족으로 주민검색 (0) | 2025.10.28 |
| MVC연습하기 - 5. 삭제 (0) | 2025.10.28 |