inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

for반복문을 임의로 바꿔 봤는데 오류가 나는 이유를 모르겠어요

102

nimbus

작성한 질문수 2

0

안녕하세요

실전 자바 기본편 섹션3 기본형과 참조형 문제와 풀이부분에서

for (int i = 0; i < orders.length; i++) {
    System.out.println((i + 1) + "번째 주문 정보를 입력하세요.");

    System.out.println("상품명: ");
    String productName = scanner.nextLine();

    System.out.println("가격: ");
    int price = scanner.nextInt();

    System.out.println("수량: ");
    int quantity = scanner.nextInt();
    scanner.nextLine();

    orders[i] = createOrder(productName, price, quantity);
}

for 반복문을

for(ProductOrder order : orders) {
    System.out.println("상품명을 입력하세요: ");
    String productName = scanner.nextLine();
    System.out.println("가격을 입력하세요: ");
    int price = scanner.nextInt();
    System.out.println("갯수를 입력하세요: ");
    int quantity = scanner.nextInt();
    scanner.nextLine();

    order = createOrder(productName, price, quantity);
}

이렇게 고쳤봤더니 createOrder 메소드에서 order변수값이 null이라면서 오류가 나는데요..

혹시 order변수에 null값이 들어가면서 오류가 나는 이유가 뭔지 알수있을까요?

java 객체지향

답변 1

2

y2gcoder

안녕하세요. nimbus님, 공식 서포터즈 y2gcoder입니다.

foreach 문은 배열의 값을 복사해서 가져온 것이라 대입한다고 해서 기존의 값이 변경되지는 않습니다!

그래서 foreach 문에서는 해당 배열에 값을 대입할 수는 없습니다. 읽기 전용이라고 생각해주시면 좋을 것 같습니다 🙂

감사합니다.

질문있습니다

0

27

1

1번 문제 질문입니다.

0

32

1

음악플레이어 문제 중 코드질문

0

26

1

9장 상속 문제와 풀이 질문

0

38

1

강의 자료에 사소한 오타가 있습니다.

0

49

2

매서드 참조값 반환??

0

66

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

70

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

85

1

공부방법

0

74

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

82

1

static method 질문

0

66

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

97

1

Method1에서 Student 객체

0

73

1

3강 18. null 질문

0

68

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

75

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

97

1

문의

0

104

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

90

1

상속과 그에 따른 메모리 구조 질문

0

62

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

74

1

수강기한

0

136

1

기본편 객체지향 프로그래밍에 대한 정의

0

86

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

87

1

추가 지식 학습

0

152

2