TIL 3주차

이상인·2023년 5월 30일

5월 30일

계산기를 만들기 위해서 switch 문을 사용했으나 실행이 되지 않음

  • return 타입이 void가 아니기 때문에 반드시 return이 있어야 한다.
    return 대신 print를 사용해서 실행이 되지 않았던 문제였다.

메인메서드에서 계산 기능을 실행하였으나, 다른 파일에 있는 switch문의 결과값이 계속 나왔다.
켜져있는 파일을 꺼보고 이 파일 저 파일 눌러봐도 계속 같은 결과값만 나왔다.

  • 내가 무엇을 보고 있든 같은 파일만 실행이 된다면, 런 할 파일을 고정 혹은 변경하는 방법이 있을거라는 생각이 들었다.
  • 인터넷 검색 결과 다음과 같은 부분을 발견할 수 있었다.
  • 계산기능이 잘 작동하는 것을 확인하고 마무리 할 수 있었다.

default에 프린트를 넣었더니 switch문이 끝나고 return값으로 0이 나왔다. 어떻게 해야 안 나오게 할 수 있을까?

구글링 결과 print가 아닌 다음과 같은 코드를 입력하여 오류메세지를 반환할 수 있다는 것을 알게되었다.

throw new IllegalArgumentException("잘못된 연산자입니다: " + operator);

< 결과 >

6월 1일

for문을 통해 이차원 배열 items를 읽던 도중
다음과 같은 오류가 발생했다

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Kiosk2.Item.getName()" because "items[i][j]" is null
	at Kiosk2.Main.main(Main.java:44)

items[i][j]가 null인 상태에서는 출력하지 않도록 if문을 통해 예외처리를 하였다.

HashMap을 사용하니 메인메뉴의 순서가 뒤죽박죽이 되었다.
LinkedHashMap<> 을 사용해서 입력한 순서대로 메뉴가 나오게 하였다.

0개의 댓글