Skip to content

Latest commit

 

History

History
122 lines (121 loc) · 3.77 KB

Problems31.md

File metadata and controls

122 lines (121 loc) · 3.77 KB

pdf

연습문제

  1. 다음 else if문은 switch문으로 switch문은 elseif문으로 변경해보자. image
int i = 0;
switch(i){
    case 0: i++; break;
    case 2: i = i - 2; break;
    case 3: i = 3; break;
}
System.out.println(i);
int i = 0;
if(i == 2){
    i++;
} else if(i == 3 || i == 4){
    i = i + 2;
} else if(i == 6){
    i++;
}
System.out.println(i);
  1. 1~5사이의 숫자를 변수 c에 저장하여 한글로 출력하는 switch문을 만들어 보자.
int c = (int)(Math.random * 100) % 5 + 1;
String result = "";
switch(c){
    case 1: result = "일"; break;
    case 2: result = "이"; break;
    case 3: result = "삼"; break;
    case 4: result = "사"; break;
    case 5: result = "오"; break;
}
System.out.println(result);
  1. 다음 순서도와 동일하게 실행되도록 else if문과 switch문으로 기술하시오. image
java.util.Scanner sc = new java.util.Scanner(System.in);
int input = Integer.parseInt(sc.nextLine());
int a = 5;
int b = 7;
switch(input){
    case 0: a = a + 2; break;
    case 1: b = b + 4; break;
    case 2: a = a + b; break;
    default: b = b + 5;
}
System.out.println(a);
System.out.println(b);
  1. 점수를 입력받아 90점이상은 수, 80점이상은 우, 70점 이상은 미 ..로 출력하는 프로그램을 else if문과 switch문으로 만들어 보자. 범위 조회여서 switch문으로 처리하기 어려울 것 처럼 보이지만 %연산자를 사용하면 switch문을 사용할 수 있다. 100/10==10이고 9990/10==9이다. 정수 연산이기 때문에 소수점이 없다. 8980/10==8이다. 74/10==7이 된다. 이를 이용하면 충분히 switch문으로 구현할 수 있다. 수우미양가를 출력하는 프로그램을 switch문으로 구현해 보자.
java.util.Scanner sc = new java.util.Scanner(System.in);
int score = Integer.parseInt(sc.nextLine());
String result = "";
switch(score / 10){
    case 10:
    case 9: result = "수"; break;
    case 8: result = "우"; break;
    case 7: result = "미"; break;
    case 6: result = "양"; break;
    default:
    case 5: result = "가"; break;
}
System.out.println(result);
  1. 1~5사이의 숫자를 입력받아 해당 숫자를 한글로 출력하는 프로그램을 작성해 보자.
java.util.Scanner sc = new java.util.Scanner(System.in);
int input = Integer.parseInt(sc.nextLine());
while(input > 5 || input < 1){
    input = Integer.parseInt(sc.nextLine());
}
switch(input){
    case 1: result = "일"; break;
    case 2: result = "이"; break;
    case 3: result = "삼"; break;
    case 4: result = "사"; break;
    case 5: result = "오"; break;
}
  1. 달을 입력받아 해당달이 28일인지 30일인지 31일인지 출력하는 프로그램을 구현해 보자.
java.util.Scanner sc = new java.util.Scanner(System.in);
int month = Integer.parseInt(sc.nextLine());
while(month > 12 || month < 1){
    System.out.println("Invalid month value, retry with valid value.");
    month = Integer.parseInt(sc.nextLine());
}
int year = java.time.LocalDate.now().getYear();
int daysInMonth = java.time.YearMonth.of(year,month).lengthOfMonth();
System.out.println(year + "년 " + month + "월은 " + daysInMonth + "일 까지 있습니다.");
  1. 나이를 입력 받아 해당 나이의 때의 학력이 초,중,고 중 어디에 해당하는지 출력해보자.
java.util.Scanner sc = new java.util.Scanner(System.in);
int age = Integer.parseInt(sc.nextLine());
String result = "";
if(age > 7 && age < 14){
    result = "초";
} else if(age > 13 && age < 17){
    result = "중";
} else if(age > 16 && age < 20){
    result = "고";
}
System.out.println(result);

또는

나이로는 초,중,고 를 알 수 없음