길었던 설 연휴를 끝내고 다시 국비지원을 다니는 날이 돌아왔다.
오늘은 날이 몹시 추워서 벌벌 떨며 학원을 들어왔다. 오늘 배우는 것은 IF문이였고 순간 20살 때 생각이 났다. 그 때 했던 기억들을 되짚어가며 오늘의 문제들을 풀었다. 모든 문제들은 가능한 Scanner를 사용했다 왜냐하면 20살 때 기억에 scanner를 많이 썻던게 기억이 남았기 때문이다.
Scanner sc = new Scanner(System.in);
System.out.print("지갑에 얼마 있어요? : ");
int wallet = sc.nextInt();
String result01 = (wallet >= 3000) ? "택시 타고 가세요": "걸으세요";
System.out.println(result01);
System.out.println("------------------------------------------");
위의 문제는 if문으로 간단히 해결되기에 삼항연산자를 통하여 해결해보았다.
#### System.out.print("지갑에 얼마 있어요? : ");
wallet = sc.nextInt();
if (wallet >= 3000) {
System.out.println("택시 타고 가세요");
}else {
System.out.println("혹시 카드가 있으신가요? (네, 아니오)");
String card = sc.next();
if (card.equals("네")) {
System.out.println("택시 타고 가세요");
}
System.out.println("걸어가라");
이 코드는 요구사항이 다양해서 삼항연산자를 사용하지 않았다.
System.out.println("정수를 입력하시오 : ");
int value = sc.nextInt();
String result03 = (value % 2 == 0) ? "짝수":"홀수";
System.out.println(result03);
이 또한 if문을 사용하나 간단한 코드이기에 삼항연산자를 활용하여 간단히 해결하였다.
int a1 = 10, b1 = 20, c1 = 9;
if (a1 > b1 && a1 > c1) {
System.out.println(String.format("%d가 최대값입니다", a1));
}else if(a1 < b1 && b1 > c1) {
System.out.println(String.format("%d가 최대값입니다", b1));
}else if(a1 < c1 && c1 > b1) {
System.out.println(String.format("%d가 최대값입니다", c1));
}
값들을 각각 비교하여 해결했다.
문5
수학 점수가 90점 이상이면 A학점
수학 점수가 80점 이상이면 B학점
수학 점수가 70점 이상이면 C학점
수학 점수가 60점 이상이면 D학점
나머지는 F
System.out.println("수학 점수는 ? ");
int MathScore = sc.nextInt();
if (MathScore >= 90) {
System.out.println("A");
}else if (MathScore >= 80) {
System.out.println("B");
}else if (MathScore >= 70) {
System.out.println("C");
}else if (MathScore >= 60) {
System.out.println("D");
}else{
System.out.println("F");
}
수학 점수는 입력받는 형태로 하였다.
switch-case
특정 정수 num의 값이 1이면 "축구",
2이면 "농구", 3이면 "야구,
4이면 "배구", 그 외에는 "배드민턴"이 출력
System.out.println("정수를 입력하시오 : ");
int num = sc.nextInt();
switch (num) {
case 1:
System.out.println("축구");
break;
case 2:
System.out.println("농구");
break;
case 3:
System.out.println("야구");
break;
case 4:
System.out.println("배구");
break;
default :
System.out.println("배드민턴");
break;
}
특정 정수의 값이 3이면 "안녕"이 세줄,
2이면 "안녕"이 두줄, 1이면 "안녕"이 한줄,
그 외는 "잘가" 출력
System.out.println("정수를 입력하시오 : ");
int num1 = sc.nextInt();
switch (num1) {
case 1:
System.out.println("안녕");
break;
case 2:
System.out.println("안녕");
System.out.println("안녕");
break;
case 3:
System.out.println("안녕");
System.out.println("안녕");
System.out.println("안녕");
break;
default :
System.out.println("잘가");
break;
강사님의 의도는 이런 식으로 푸는거 같았겠지만 이건 좀 아닌거 같아서 다르게 풀었다.
####System.out.println("(번외)정수를 입력하시오 : ");
int num2 = sc.nextInt();
for (int i = 1 ; i < num2+1; i++) {
if (num2 > 0 && num2 < 4) {
System.out.println("안녕");
}else {
System.out.println("잘가");
break;
}
}
정수를 입력받아와서 해당 정수만큼 안녕을 출력하고 만약 범위 외 숫자를 입력하면 "잘 가" 키워드가 나오게끔 수정하였다. 이를 통하여 동일한 코드를 사용하는 것을 방지하였다.