개발일기/TIL(Since24.04.19)

Java - TIL(24.04.26 금)

w.llama 2024. 4. 26. 22:45

오늘한 일

  • 내일배움캠프 3주차 수강
    • 상속개념 , 상속관계 포함관계, 단일다중상속 final 최상위 클래스 overriding 과 super
  • HyperSkill 문풀
    • break; continue; switch문
  • 프로그래머스 문풀
    • 숫자 비교하기 (java)
    • 동물 수 구하기 (SQL)
  • 방송대 인공지능 수강

힘들었던 문제

Solution

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // start coding here

        int sum = 0;                     // sum초기화
        while(true){                     //true일동안 계속
            int n=scanner.nextInt();     // n input
            sum+=n;                      // 입력된 수 누적합
            if(n==0 || sum>=1000)break;  // n=0또는 합>=1000일때 while문 멈춤
       }
        if(sum>=1000){                   // 합>= 1000 일때 
            System.out.println(sum-1000);//총합-1000 출력
        }else{                           // 그 외
            System.out.println(sum);     // 총합 출력
        }
        scanner.close();                 //더이상 입력 불가
    }
}

//어려웠던 점 :

while 문을 통해 입력값을 무한히 생성하는법을 찾는데 오래걸렸다

(int n=scanner.nextInt();를 while문 안으로 넣으면서 해결)

while(true)- 특별한일 없는한 계속해서 반복문 진행 // 탈출은 break;로 한다

참조)while은 무한루프 빠지기 쉽다....꼭 루프 탈출구를 만들어주자

의문 점

scanner.close()가 있든 없든... 실행이 잘되는데... 유무의 차이가 무엇일까??

관련 답

scanner.close()를 통해 scanner객체를 닫아 리소스 누출을 방지해준다

주말동안 할 일

HyperSkill 문풀 (Method main 까지 문제풀기)

일주일간 공부한 내용 WIL로 적기(자세히)

 

 

'개발일기 > TIL(Since24.04.19)' 카테고리의 다른 글

Java - TIL(24.04.30 화)  (0) 2024.04.30
Java - TIL(24.04.29 월)  (0) 2024.04.29
Java - TIL(24.04.25 목)  (0) 2024.04.25
Java - TIL(24.04.24 수)  (0) 2024.04.24
Java - TIL(24.04.23 화)  (0) 2024.04.23