JAVA/이론 정리 및 예제

[JAVA/자바] #3_4 실습문제

chaewon 2021. 9. 5. 18:45
  • 실행용 클래스 : com.kh.silsub1.main.TestSilsub.java (main 포함)
  • 기능 제공용 클래스 : com.kh.silsub1.example.Munjae.java

 

[문제1]

  • 메소드명 : public void test1(){}
    // 국, 영, 수 세 과목(int)의 점수를 키보드로 입력받고,
    // 합계와 평균을 계산하고,
    // 세 과목의 점수와 평균을 가지고 합격 여부 처리함
    // 합격의 조건 : 세 과목의 점수가 각각 40점이상이고,
    //                        평균이 60점 이상이면 합격, 
    //                        아니면 불합격 처리함
    // 합격인 경우에는 과목별 점수와 합계, 평균을 출력하고,
    // 불합격인 경우는 "불합격" 출력함

 

[문제2]

  • switch문 사용함
  • 메소드명 : public void test2(){} 
    • 화면에 출력함
      *** 초기 메뉴 ***
      1. 입력
      2. 수정
      3. 조회
      4. 삭제
      7. 종료
      메뉴번호 입력 : 번호입력받음
      => 처리내용 : 
              1 입력 --> "입력메뉴가 선택되었습니다."
              2 입력 --> "수정메뉴가 선택되었습니다."
              
      3 입력 --> "조회메뉴가 선택되었습니다."
              
      4 입력 --> "삭제메뉴가 선택되었습니다."
              
      7 입력 --> "프로그램이 종료됩니다."
              
      다른값 입력시 "번호가 잘못 입력되었습니다."
                                 
      "다시 입력하십시오." 출력되게 함

 

[문제3]

  • 메소드명 : public void test3(){}
  • 메소드 안 구현 내용 :
    • 정수 변수 선언
    • 키보드로부터 정수 하나 입력 받음 
    • 입력받은 정수가 양수이면 "양수다." 출력
      양수가 아니면
      "양수가 아니다." 출력
    • main 에서 실행 테스트함.

 

[문제 4]

  • 메소드명 : public void test4(){}
  • 메소드 안 구현 내용 :
    • 정수 변수 선언
    • 문자열 변수 선언
    • 기보드로부터 정수를 하나 입력 받음
      • 단, 양수일 때만
    • 입력받은 정수가 짝수이면 "짝수다" 를 문자열에 기록하고 출력,
      짝수가 아니면 "홀수다"를 문자열에 기록하고 출력함
      • <짝수의 조건>
        어떤 수를 2로 나눈 나머지가 0과 같으면 짝수임.

 

[문제 5]

  • 메소드명 : public void inputTest(){}
  • 구현할 내용 :
    • 이름(String), 나이(int), 키(double) 변수 선언
    • 각 값을 키보드로 입력 받아, 각 변수에 저장함
    • 이름이 null이 아니면서 글자 갯수가 0보다 크고,
      나이와 키가 양수일 때만 화면에 출력함.
      • ex>
        이름 : 홍 길동
        나이 : 25
        키 : 187.5
        확인 : 홍 길동의 나이는 25세이고, 키는 187.5 cm 이다.

 

[문제 6]

  • 메소드명 : public void test6(){}
  • 구현 내용 :
    • 두 개의 정수 변수 선언
    • 키보드로 두 개의 정수를 입력 받아,
      단, 두 수 모두 양수일 때만
    • 두 수의 합, 차, 곱, 몫을 출력함
      • ex>
        첫번째 정수 : 25
        두번째 정수 : 7
        25 + 7 = 32
        25 - 7 = 18
        25 * 7 = 175
        25 / 7 = 3
        25 % 7 = 4

 

[문제 7]

  • 메소드명 : public void test7(){}
  • 구현 내용 :
    • 정수 변수와 문자 병수 선언
    • 키보드로 점수를 입력 받아, 정수 변수에 저장
      단, 점수는 반드시 0 이상의 값이여야 함.
    • 다중 if문으로 점수가 90 이상이면 문자변수에 'A' 대입
                                 80 이상 90 미만     'B'
                                 
      70 이상 80 미만     'C'
                                 
      60 이상 70 미만     'D'
                                 
      60 미만                   'F' 대입함
    • 점수와 학점 출력 확인

 

TestSilsub

package com.kh.silsub1.main;

import com.kh.silsub1.example.Munjae;

public class TestSilsub {

        public static void main(String[] args) {
                Munjae test = new Munjae();
                //test.test1();
                //test.test2();
                //test.test3();
                //test.test4();
                //test.test5();
                //test.test6();
                test.test7();
        }

}

 

MunJae

package com.kh.silsub1.example;

import java.util.Scanner;
import java.util.concurrent.SynchronousQueue;

public class Munjae {
        public void test1() {
                Scanner sc = new Scanner(System.in);
                
                System.out.print("국어 점수 : ");
                int lag = sc.nextInt();
                System.out.print("영어 점수 : ");
                int eng = sc.nextInt();
                System.out.print("수학 점수 : ");
                int math = sc.nextInt();
                
                int sum = lag + eng + math;
                int avg = sum / 3;
                
                if(lag >= 40 && eng >= 40 && math >= 40) {
                        if(avg >= 60) {
                                System.out.println("합격");
                                System.out.printf("국어 점수는 %d, 영어 점수는 %d, 수학 점수는 %d 이고, \n "
                                                + "세 과목의 총점은 %d, 평균은 %d 입니다.", lag, eng, math, sum, avg);
                        }else {
                                System.out.println("불합격");
                        }
                }else {
                        System.out.println("불합격");
                }
        }
        public void test2() {
                System.out.println("***초기 메뉴***");
                System.out.println("1. 입력");
                System.out.println("2. 수정");
                System.out.println("3. 조회");
                System.out.println("4. 삭제");
                System.out.println("7. 종료");
                
                Scanner sc = new Scanner(System.in);
                System.out.print("메뉴를 선택하세요 : ");
                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;
                        case 7 : System.out.println("프로그램이 종료됩니다."); break;
                        default : System.out.println("번호가 잘 못 입력되었습니다.\n다시 입력하십시오."); return;
                }
        }
        public void test3() {
                Scanner sc = new Scanner(System.in);
                System.out.print("정수를 하나 입력하세요 : ");
                int num = sc.nextInt();
                
                if(num >= 0) {
                        System.out.println("양수다.");
                }else {
                        System.out.println("양수가 아니다.");
                }
        }
        public void test4() {
                String str = "";
                
                Scanner sc = new Scanner(System.in);
                System.out.print("정수를 하나 입력하세요 : ");
                int num = sc.nextInt();
                if(num >= 0) {
                        if(num % 2 == 0) {
                                str = "짝수다.";
                        }else {
                                str = "홀수다.";
                        }
                }else {
                        System.out.println("입력하신 정수는 음수입니다.");
                }
                System.out.println(str);
        }
        public void test5() {
                Scanner sc = new Scanner(System.in);
                
                System.out.print("이름 : ");
                String str = sc.nextLine();
                System.out.print("나이 : ");
                int age = sc.nextInt();
                System.out.print("키 : ");
                double height = sc.nextDouble();
                
                if(str != null && str.length() != 0) {
                        if(age >= 0 && height >= 0) {
                                System.out.printf("확인 : %s의 나이는 %d세이고, 키는 %.1f cm 이다.", str, age, height);
                        }
                }else {
                        System.out.println("이름을 입력하세요.");
                }
        }
        public void test6() {
                Scanner sc = new Scanner(System.in);
                
                System.out.print("첫 번째 정수  : ");
                int num1 = sc.nextInt();
                System.out.print("두 번째 정수  : ");
                int num2 = sc.nextInt();
                
                int plus = num1 + num2;
                int minus = num1 - num2;
                int multi = num1 * num2;
                int div = num1 / num2;
                int mod = num1 % num2;
                
                if(num1 >= 0 && num2 >= 0) {
                        System.out.printf("%d + %d = %d\n", num1, num2, plus);
                        System.out.printf("%d - %d = %d\n", num1, num2, minus);
                        System.out.printf("%d * %d = %d\n", num1, num2, multi);
                        System.out.printf("%d / %d = %d\n", num1, num2, div);
                        System.out.printf("%d %% %d = %d", num1, num2, mod);
                }else {
                        System.out.println("양수만 입력하세요.");
                }
        }
        public void test7() {
                char grade = ' ';
                
                Scanner sc = new Scanner(System.in);
                
                System.out.print("점수 입력  : ");
                int num = sc.nextInt();
                
                if(num >=0 ) {
                        if(num >= 90) {
                                grade = 'A';
                        }else if(num >= 80){
                                grade = 'B';
                        }else if(num >= 70) {
                                grade = 'C';
                        }else if(num >= 60) {
                                grade = 'D';
                        }else {
                                grade = 'F';
                        }
                }else {
                        System.out.println("양수만 입력하세요.");
                }
                
                System.out.printf("당신의 점수는 %d점이고, 등급은  %c입니다.\n", num, grade);
                
        }
}