본문 바로가기
자바 (JAVA)

📚 자바 조건문 연습문제

by demianpark127 2025. 1. 6.
SMALL

📚 기초 문제 풀이


1. 홀수/짝수 판별하기

문제 설명:

정수를 입력받아 홀수인지 짝수인지 판별하세요.

  • 힌트: % 연산자를 사용합니다.

예제 코드:

import java.util.Scanner;

public class OddEvenChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("정수를 입력하세요: ");
        int number = scanner.nextInt();
        
        if (number % 2 == 0) {
            System.out.println(number + "는 짝수입니다.");
        } else {
            System.out.println(number + "는 홀수입니다.");
        }
        
        scanner.close();
    }
}

2. 학점 계산하기

문제 설명:

점수를 입력받아 다음 기준에 따라 학점을 출력하세요.

  • 90점 이상: A
  • 80점 이상: B
  • 70점 이상: C
  • 60점 이상: D
  • 60점 미만: F

예제 코드:

import java.util.Scanner;

public class GradeCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("시험 점수를 입력하세요: ");
        int score = scanner.nextInt();
        
        if (score >= 90) {
            System.out.println("학점: A");
        } else if (score >= 80) {
            System.out.println("학점: B");
        } else if (score >= 70) {
            System.out.println("학점: C");
        } else if (score >= 60) {
            System.out.println("학점: D");
        } else {
            System.out.println("학점: F");
        }
        
        scanner.close();
    }
}

3. 양수, 음수, 0 판별하기

문제 설명:

숫자를 입력받아 양수, 음수, 0인지 판별하세요.

예제 코드:

import java.util.Scanner;

public class NumberTypeChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("숫자를 입력하세요: ");
        int number = scanner.nextInt();
        
        if (number > 0) {
            System.out.println(number + "는 양수입니다.");
        } else if (number < 0) {
            System.out.println(number + "는 음수입니다.");
        } else {
            System.out.println(number + "는 0입니다.");
        }
        
        scanner.close();
    }
}

4. 최댓값 찾기

문제 설명:

세 개의 숫자를 입력받아 가장 큰 숫자를 출력하세요.

예제 코드:

import java.util.Scanner;

public class MaxValueFinder {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("첫 번째 숫자를 입력하세요: ");
        int num1 = scanner.nextInt();
        System.out.print("두 번째 숫자를 입력하세요: ");
        int num2 = scanner.nextInt();
        System.out.print("세 번째 숫자를 입력하세요: ");
        int num3 = scanner.nextInt();
        
        int max = num1;
        
        if (num2 > max) {
            max = num2;
        }
        
        if (num3 > max) {
            max = num3;
        }
        
        System.out.println("가장 큰 숫자는: " + max);
        
        scanner.close();
    }
}

 

 

📚 중급 문제 풀이

5. 윤년 판별하기

문제 설명:

연도를 입력받아 윤년인지 판별합니다.

  • 조건:
    1. 연도가 4의 배수이면서 100의 배수가 아니면 윤년입니다.
    2. 또는 연도가 400의 배수이면 윤년입니다.

예제 코드:

import java.util.Scanner;

public class LeapYearChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("연도를 입력하세요: ");
        int year = scanner.nextInt();

        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
            System.out.println(year + "년은 윤년입니다.");
        } else {
            System.out.println(year + "년은 윤년이 아닙니다.");
        }

        scanner.close();
    }
}

✅ 설명:

  • year % 4 == 0: 4의 배수인지 확인
  • year % 100 != 0: 100의 배수가 아닌지 확인
  • year % 400 == 0: 400의 배수인지 확인

 

6. BMI 계산기

문제 설명:

키(cm)와 몸무게(kg)를 입력받아 BMI를 계산하고 결과를 출력합니다.

  • BMI 공식: BMI = 몸무게(kg) / (키(m) × 키(m))

예제 코드:

import java.util.Scanner;

public class BMICalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("키(cm)를 입력하세요: ");
        double height = scanner.nextDouble();
        System.out.print("몸무게(kg)를 입력하세요: ");
        double weight = scanner.nextDouble();

        double bmi = weight / ((height / 100) * (height / 100));

        System.out.printf("BMI: %.2f\n", bmi);

        if (bmi < 18.5) {
            System.out.println("저체중");
        } else if (bmi < 25) {
            System.out.println("정상");
        } else if (bmi < 30) {
            System.out.println("과체중");
        } else {
            System.out.println("비만");
        }

        scanner.close();
    }
}

✅ 설명:

  • 키를 cm에서 m로 변환: (height / 100)
  • BMI 공식 적용 후 조건에 따라 출력

 

7. 숫자에 따른 요일 출력하기

문제 설명:

1~7 사이의 숫자를 입력받아 요일을 출력합니다.

  • 힌트: switch-case 사용

예제 코드:

import java.util.Scanner;

public class DayOfWeek {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("숫자(1-7)를 입력하세요: ");
        int day = scanner.nextInt();

        switch (day) {
            case 1: System.out.println("월요일"); break;
            case 2: System.out.println("화요일"); break;
            case 3: System.out.println("수요일"); break;
            case 4: System.out.println("목요일"); break;
            case 5: System.out.println("금요일"); break;
            case 6: System.out.println("토요일"); break;
            case 7: System.out.println("일요일"); break;
            default: System.out.println("잘못된 입력입니다.");
        }

        scanner.close();
    }
}

8. 로그인 검사

문제 설명:

아이디와 비밀번호를 입력받아 일치 여부를 확인합니다.

예제 코드:

import java.util.Scanner;

public class LoginChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String USERNAME = "admin";
        String PASSWORD = "1234";

        System.out.print("아이디를 입력하세요: ");
        String username = scanner.next();
        System.out.print("비밀번호를 입력하세요: ");
        String password = scanner.next();

        if (username.equals(USERNAME) && password.equals(PASSWORD)) {
            System.out.println("로그인 성공");
        } else if (username.equals(USERNAME)) {
            System.out.println("비밀번호가 틀렸습니다.");
        } else {
            System.out.println("로그인 실패");
        }

        scanner.close();
    }
}

 

9. 성적 등급과 장학금

문제: 점수를 입력받고 다음 기준에 따라 장학금 지급 여부를 출력하세요.

  • 90점 이상: "A등급, 장학금 100만 원 지급"
  • 80점 이상: "B등급, 장학금 50만 원 지급"
  • 70점 이상: "C등급, 장학금 없음"
  • 70점 미만: "불합격"

예제 코드: 

import java.util.Scanner;

public class ScholarshipCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("점수를 입력하세요: ");
        int score = scanner.nextInt();

        if (score >= 90) {
            System.out.println("A등급, 장학금 100만 원 지급");
        } else if (score >= 80) {
            System.out.println("B등급, 장학금 50만 원 지급");
        } else if (score >= 70) {
            System.out.println("C등급, 장학금 없음");
        } else {
            System.out.println("불합격");
        }

        scanner.close();
    }
}

 

10. 계산기 프로그램

 

  • 문제: 두 숫자와 연산자(+, -, *, /)를 입력받아 연산 결과를 출력하세요.
  • 조건:
    • 연산자가 올바르지 않으면 "잘못된 연산자입니다." 출력
    • / 연산 시, 두 번째 숫자가 0이면 "0으로 나눌 수 없습니다." 출력

 

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("첫 번째 숫자: ");
        double num1 = scanner.nextDouble();
        System.out.print("두 번째 숫자: ");
        double num2 = scanner.nextDouble();
        System.out.print("연산자 (+, -, *, /): ");
        char operator = scanner.next().charAt(0);

        switch (operator) {
            case '+': System.out.println("결과: " + (num1 + num2)); break;
            case '-': System.out.println("결과: " + (num1 - num2)); break;
            case '*': System.out.println("결과: " + (num1 * num2)); break;
            case '/': 
                if (num2 == 0) System.out.println("0으로 나눌 수 없습니다.");
                else System.out.println("결과: " + (num1 / num2));
                break;
            default: System.out.println("잘못된 연산자입니다.");
        }

        scanner.close();
    }
}

 11. 계절 판별하기

월(1~12)을 입력받아 해당하는 계절을 출력합니다.

  • 조건:
    • 3~5월:
    • 6~8월: 여름
    • 9~11월: 가을
    • 12, 1, 2월: 겨울

예제 코드:

import java.util.Scanner;

public class SeasonChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("월(1~12)을 입력하세요: ");
        int month = scanner.nextInt();

        if (month >= 3 && month <= 5) {
            System.out.println("봄입니다.");
        } else if (month >= 6 && month <= 8) {
            System.out.println("여름입니다.");
        } else if (month >= 9 && month <= 11) {
            System.out.println("가을입니다.");
        } else if (month == 12 || month == 1 || month == 2) {
            System.out.println("겨울입니다.");
        } else {
            System.out.println("잘못된 입력입니다. 1~12 사이의 숫자를 입력하세요.");
        }

        scanner.close();
    }
}

 12. 삼각형 판별하기

세 변의 길이를 입력받아 삼각형이 될 수 있는지 판별합니다.

  • 조건:
    • 두 변의 합이 나머지 한 변보다 커야 합니다.

예제 코드:

import java.util.Scanner;

public class TriangleChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("첫 번째 변의 길이를 입력하세요: ");
        int side1 = scanner.nextInt();
        System.out.print("두 번째 변의 길이를 입력하세요: ");
        int side2 = scanner.nextInt();
        System.out.print("세 번째 변의 길이를 입력하세요: ");
        int side3 = scanner.nextInt();

        if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) {
            System.out.println("삼각형을 만들 수 있습니다.");
        } else {
            System.out.println("삼각형을 만들 수 없습니다.");
        }

        scanner.close();
    }
}

 

LIST