출처 : https://www.inflearn.com/course/java-codesquad/dashboard
필사 :
Scanner scanner = new Scanner(System.in);
Ctrl + Shift + M -> import java.util.Scanner;
System.out.println("달을 입력하세요");
int month = scanner.nextInt();
int[] maxDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
System.out.printf("%d월은 %d일까지 있습니다.\n", args);
printf의 경우 자동 줄바꿈이 되지 않으므로 '\n'을 입력해준다.
System.out.printf("%d월은 %d일까지 있습니다.\n", month, maxDays[month-1]);
args 자리에 출력될 숫자에 해당하는 변수를 입력해준다.
month -1 => 배열은 0부터 시작하므로.
scanner.close();
스캐너를 사용했으니 닫아준다.
불필요한 시점(-> scanner 마지막에 쓰이는 곳 이후)에서 클로즈를 해줘도 된다.
이게 방법 1이다.
의미있는 구현을 한 뒤에는 커밋을 하는 것이 좋다.
나중에 되돌릴 수도 있으므로.
int[] maxDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
위 기능은 하나의 로직이다.
이런 것은 함수로 빼면 좋다.
함수는 공부를 해줘도 되고, 모르면 그냥 이런 게 있구나 참고.
public int getMaxDaysOfMonth(int month) {
이 녀석을 main 바깥으로 빼기.
private final int[] MaxDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
public int getMaxDaysOfMonth(int month) {
private final int[] MaxDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
public int getMaxDaysOfMonth(int month) {
return MaxDays[month - 1];
}
이렇게 해주면 함수 짜기 끝.
중요한 것은 재사용 하려고, 코드를 깔끔하게 보려고
로직을 함수로 빼왔다는 것.
cal.getMaxDaysOfMonth(month)
-> 함수라고 부를 때도 있고 메소드라고 부를 때도 있다.
함수명을 maxDaysOfMonth에서 getMaxDaysOfMonth로 변경.
어떤 함수인지 알기 쉽게.
함수는 나중에 공부하세요~
아직 안배웠을 수도 있습니다.
이전에 적어둔 코드가 아까워서 남겨두고 싶은 경우
이런 식으로 함수로 저장한 뒤 빼두기.
쓰고싶을 때 이렇게 해서 쓰면 됨
다 됐으니까 다시 커밋.
방법 2. 배열을 안쓰고 if문 활용
if (month == 1) {
return 31;
} else if (month == 2) {
return 28;
}
return 31;
}
에러가 많을 때
가장 먼저 봐야할 것이 {}쌍이 맞는지 확인.
이렇게 1월부터 12월까지 해도 되지만
점수로 따지면 70점짜리.
방법 3. 스위치 케이스
switch (month) {
case 2:
return 31;
case 4:
return 30;
default :
return 31; }
}
점수로 따지면 80점 짜리.
배열 방식이 좋다.
다 했으면 Ctrl + Shift + F 로 자동정렬.
자동정렬하고 커밋하는 것이 좋다.
내가 실수한 들여쓰기를 이클립스가 해준다.
느낀점 :
함수명은 어떤 함수인지 설명이 되는 이름으로 정해주면 좋다.
기본 개념서로 공부하면서 이 강의를 봐야 하는구나.
파일 이름을 바꾸니까 이전 기록이 보기 힘들어졌다.
(파일 이름 정할 때 나중에 바꾸지 않도록 애초에 자바 약속에 맞게끔 파일 이름을 정하자.
모르고 어겼다가 돌아가는 느낌...)
내가 한 것은 70점짜리..
배열과 if문을 이용해서 4년마다 2월은 29일이 나오게 해보자.
-> 드디어 성공!
'국비학원 전 강의 필사 > JAVA 플레이그라운드' 카테고리의 다른 글
#27 종료 조건을 이용해 반복하기 - <JAVA플레이그라운드> (0) | 2022.08.24 |
---|---|
#26 반복 입력 가능하도록 프로그램 변경하기 - <JAVA플레이그라운드> (0) | 2022.08.24 |
😊 #24 입력받은 월의 최대 일수 출력하기 - <JAVA플레이그라운드> (0) | 2022.08.19 |
#23 두 수의 합 구하기 풀이 - <JAVA플레이그라운드> (0) | 2022.08.19 |
😊 #22 입력받은 숫자의 합을 구하는 프로그램 작성하기 - <JAVA플레이그라운드> (0) | 2022.08.19 |
댓글