[Java] 로또 게임 구현 중 NullPointerException 발생

2023. 2. 19. 03:12·Error Note
728x90
728x90

에러 발생 코드

public class LottoFrameError extends JFrame implements ActionListener {

    JButton button;
    int[] lotto;

    // 중략 //

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("게임 시작 ~");
        LottoRandomNumberBefore lottoRandomNumber = new LottoRandomNumberBefore(); // 객체 생성
        lottoRandomNumber.lottoNumber(); // 번호 생성
        lotto = lottoRandomNumber.getLotto(); // 로또 번호 멤버 변수 가져오기
        // 콘솔에 번호 출력
        for (int i = 0; i < lotto.length; i++) {
            System.out.println("lotto : " + lotto[i]);
        }
        repaint();
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        Font f = new Font("궁서체", Font.ITALIC, 25);
        g.setFont(f);
        if (lotto[0] == 0) {  // 여기서 NullPointerException 오류 발생
            g.drawString("버튼을 눌러 번호를 확인하세요!", 120, 200);
            return;
        }
        int x = 50;
        for (int i = 0; i < lotto.length; i++) {
            if (i == 0) {
                g.drawString(lotto[i] + "", x, 200);
            } else {
                g.drawString(lotto[i] + "", x += 100, 200);
            }
        } // end of for

    } // end of paint
}

 

  - 컴파일 시점에서는 문제가 없었는데, 실행하면 에러가 뜸

 

  - GUI 창은 출력되지만, 아래 if 문의 코드가 실행되지 않음

if (lotto[0] == 0) { 
    g.drawString("버튼을 눌러 번호를 확인하세요!", 120, 200);
    return;
}

코드 수정

  - 멤버 변수인 lotto 배열이 인스턴스화되지 않아서 생긴 문제

// 이전
int[] lotto;

// 수정
int[] lotto = new int[6];

  - 멤버 변수 선언 코드에서, lotto 배열을 선언+초기화하는 코드로 수정해주면 에러가 해결됨

 

  - 완성된 코드 : https://young0105.tistory.com/93

320x100
반응형
저작자표시 비영리 변경금지

'Error Note' 카테고리의 다른 글

[MSSQL] DB에 중문 데이터 삽입 시 글자가 깨지는 문제  (1) 2023.12.21
[Spring Boot] MyBatis xml 파일에서 WHERE ... LIKE 문 사용하기  (0) 2023.04.26
[JSP] JSTL 태그 안에 HTML 주석 작성 시 오류  (0) 2023.04.14
[Java/Swing] getText()를 사용할 수 없는 JPasswordField에서 값 가져오기  (0) 2023.03.12
[Java] 포함 관계 구현 중 NullPointerException 발생  (0) 2023.02.07
'Error Note' 카테고리의 다른 글
  • [Spring Boot] MyBatis xml 파일에서 WHERE ... LIKE 문 사용하기
  • [JSP] JSTL 태그 안에 HTML 주석 작성 시 오류
  • [Java/Swing] getText()를 사용할 수 없는 JPasswordField에서 값 가져오기
  • [Java] 포함 관계 구현 중 NullPointerException 발생
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (383)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (10)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (14)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    js
    vuejs
    Swing
    CSS
    SEO
    http
    C#
    zapier
    SQL
    java
    개발일지
    HTML
    cs
    면접
    Wordpress
    SpringBoot
    Hotkeys
    tailwindcss
    git
    jQuery
    php
    오블완
    티스토리챌린지
    Android
    jsp
    typeScript
    errorNote
    Codeigniter
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java] 로또 게임 구현 중 NullPointerException 발생
상단으로

티스토리툴바