본문 바로가기
프로그래밍 언어 복습/JAVA

Java 복습 : 조건문 예제 풀이 (if,else if, else,알람시계,switch)

by CHCH ITG 2022. 6. 18.
1. 정수를 입력해서 특정 문구를 나오는 프로그램을 작성

// 100보다 크면 크다는 문구를,작다면 작다는 문구를 같다면 같다는 문구식을 출력하는 프로그램 작성

package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);
        System.out.print(" 정수를 입력하세요 : ");
        int x;
        x = sc.nextInt();

        if(x >100){
            System.out.println("100보다 크다 ");
        }else if(x<100){
            System.out.println(" 100보다 작다 ");
        }else {
            System.out.println("100과 같다");
        }

    }
}

|예제문1 풀이결과


2. 정수를 입력해서 특정 문구를 나오는 프로그램을 작성
성적 점수를 입력해서 점수에 따라 학점을 부여해주세요.
90점 이상 A , 80점 이상 B, 70점 이상 C 그 미만은 F
100점이 초과되면 에러 표시
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.print(" 점수를 입력하세요 : ");
        int i;
        i = sc.nextInt();

        if(i>100) System.out.println("에러");
        else if(i >=90){
            System.out.println("A");
        }else if(i<90 && i>=80){
            System.out.println("B");
        }else if(i<80 && i>=70){
            System.out.println("C");
        }else{
            System.out.println("F");
        }
    }
}

|예제문2 풀이결과


3. 백의 자리 정수를 입력 받아서 100의 자리 숫자,10의 자리 숫자, 1의 자리 숫자를 나타나게 작성
//백단위의 자리 정수를 입력 받아서 100의 자리 숫자,10의 자리 숫자, 1의 자리 숫자를 나타나게 작성
//그리고 100의 자리 숫자는 10의자리 숫자와 1의 자리 숫자보다 커야함
//십의 자리 숫자도 1의 자리 숫자보다 커야함
// 위 3조건을 만족 못한다면 에러 문구가 나오게 작성
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.print(" 백단위의 정수를 입력하세요 : ");
        int a, b, c, i;
        i = sc.nextInt();
        a = i / 100;
        b = (i % 100) / 10;
        c = i % 10;

        if (a > b && a > c && b > c) {
            System.out.println(" 100의 자리 숫자 " + a);
            System.out.println(" 10의 자리 숫자 " + b);
            System.out.println(" 1의 자리 숫자 " + c);
        } else {
            System.out.println("에러");
        }

    }
}

|예제문3 풀이결과


4.if문을 활용한 알람시계
//매일 아침 알람이 울린다.
// 평소보다 45분 일찍 알람 설정하기
// 24시간제이다. 입력은 시간과 분을 입력 받는다.
// 출력은 23:15
// 만약 00:15이면 23:30으로 출력 한다.
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.print(" 알람시간을 설정해주세요 ");
        int h, m; // 시침과 분침 변수를 정한다.
        h = sc.nextInt();
        m = sc.nextInt();
        if (m < 45) { 
            h--;
            m = 60 - (45-m); 
            if(h<0){ 
            h = 23;
        }else if(h>23){
                h=0;
            }
        System.out.println(h + " : " + m);
    }else
    System.out.println(h+" : " +(m-45));
    }
     }

if (m < 45) { 

// 분침이 45가 넘어가지 않는다면 시침에서 -1을 해야한다.

m = 60 - (45-m);

// 여기서 m은 60으로 정해둬야하는 이유는 1시간 = 60분이기 때문

if(h<0){  

// 24시간제가 예제문이기 때문에 추가로 옆 조건을 넣지 않는다면 00 15으로 했을 때 45분 일찍 알람을 잡아놓는 변수를 읽지 못한다.

}else if(h>23){

// 하루의 시간은 24시가 되면 0시가 되기 때문에 h가 23이 넘어가게 되면 0으로 바꿔주는 조건식을 넣어야 한다.

|예제문4 풀이결과


5. switch 문제

// 예제문 5 switch
// 과목 번호를 입력 받아 강의실 번호를 출력하는 프로그램을 만들어보자
// 과목은 수학,영어,사회,국어
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
        System.out.println(" 과목을 선택해주세요 : ");
        System.out.println(("1.수학 2.과학 3.사회 4.국어"));
        System.out.print(" 과목번호 ");
        int num = sc.nextInt();

        switch (num) {

            case 1:
                System.out.println("201호 입니다");
                break;
            case 2:
                System.out.println("301호 입니다.");
                break;
            case 3:
                System.out.println("401호 입니다.");
                break;
            case 4:
                System.out.println("501호 입니다.");
                break;
            default:
                System.out.println("상담실에 의뢰해보세요");
                break;

        }
    }
}

|예제문5. 풀이결과


5-1 : 5번째 예제문을 if문으로 변경해보기

// 예제문 5 switch문을 if문으로 변경해보기
// 과목 번호를 입력 받아 강의실 번호를 출력하는 프로그램을 만들어보자
// 과목은 수학,영어,사회,국어
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println(" 과목을 선택해주세요");
    System.out.println("1.수학 / 2.과학 / 3.사회 / 4.국어 ");
    int i;
    i = sc.nextInt();

    if(i == 1){
        System.out.println("201호 입니다");
    }else if (i==2){
        System.out.println("301호 입니다");
    }else if (i==3){
        System.out.println("401호 입니다");
    }else if (i==4){
        System.out.println("501호 입니다");
    }else{
        System.out.println("상담실에 의뢰해주세요");
    }

    }
}

|예제문5-1. 풀이결과


6. switch 문제
//예제문 6 switch
// 몇 월을 입력받아 해당 퀄의 일수를 출력하는 프로그램 작성
// 1월은 31일 2월은 29일 3월은 31일 4월은 30일 5월 31일 6월 30일
// 7월은 31일 8월은 31일 9월은 30일 10월은 31일 11월 30일 12월 31일
package practice.Practice.src;

import java.util.Scanner;

public class Practice2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("원하시는 달 선택해주세요");
        System.out.println(" 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월");
        int num = sc.nextInt();

        switch (num) {
            case 1: System.out.println("1월 31일");break;
            case 2: System.out.println("2월 29일");break;
            case 3: System.out.println("3월 31일");break;
            case 4: System.out.println("4월 30일");break;
            case 5: System.out.println("5월 31일");break;
            case 6: System.out.println("6월 30일");break;
            case 7: System.out.println("7월 31일");break;
            case 8: System.out.println("8월 31일");break;
            case 9: System.out.println("9월 30일");break;
            case 10: System.out.println("10월 31일");break;
            case 11: System.out.println("11월 30일");break;
            case 12: System.out.println("12월 31일");break;
            default: System.out.println(" 달을 잘 못 입력하셨습니다");
        }
    }
}

|예제문6. 풀이결과

2번째 방법(코딩식 간결하게)
package practice.Practice.src;

import java.util.Scanner;



public class Practice2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print(" 해당월을 입력하세요 : ");
        int num;
        num = sc.nextInt();
        System.out.println(" 이 달의 일수는? : ");
        if (num < 13) {
            switch (num) {
                case 2:
                    System.out.println(" 29일 ");
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    System.out.println("30일");
                    break;
                default:
                    System.out.println("31일");
                    break;
            }
        }else {
                System.out.println(" 에러 ");
            }


        }
    }

if (num < 13) {

if문을 넣어주는 이유는 1년은 12달 밖에 없다. num이 13으로 넘어가면 31일로 결과값이 나오기 때문에 조건식을 넣어서 오류를 방지해야한다.

댓글0