[오류 해결]No enclosing instance of type 클래스명 is accessible. Must qualify the allocation with an enclosing instance of type 클래스명

하히호호·2024년 4월 11일
0

프로그래머스 코딩테스트를 풀어보는 중 오류가 발생했다.


전개
문제를 풀다가 찍어보고 싶다는 생각이 들었다.
프로그래머스가 익숙하지 않아서 그런지 중간 중간 코드실행이 안되길래,
내가 사용하는 idel 환경에서 풀어보고자 했다.
문제는 풀었는데 main메서드에서 찍어보려고 하니, 오류가 발생한 것이다!


프로그래머스 문제


문제 발생

문제는 충분히 통과할 수 있었지만 예상치 못한 곳에서 오류가 발생했다.
main 메서드에서 new로 생성하려했는데 계속 오류가 발생했다.

오류 메시지

Multiple markers at this line
- The value of the local variable solu is not used
- No enclosing instance of type diceGame is accessible. Must qualify the allocation with an enclosing instance of type
diceGame (e.g. x.new A() where x is an instance of diceGame).

해결 방법

"나는 컴퓨터다."라는 생각으로 컴퓨터의 흐름을 따라가야한다.

  1. 위의 해당 문제 풀이가 들어가는 클래스는 Solution 클래스이다.
  2. 메인 메서드가 실행되는 클래스는 diceGame이다.

두번째 단계에서 문제는 해결할 수 있었다.(생각보다 어이없는 실수였다.)
클래스의 }의 위치 문제였다.
메인 메서드가 있는 클래스가 Solution 클래스까지 담고 있었다.

이렇게 이동시켜주면 오류가 해결된다.!

profile
읽히는 코드를 짜고싶습니다.

0개의 댓글