본문 바로가기

Java

JSCODE 2회차

연습 문제

2회차 연습 문제는 Practice 클래스 안에 메서드로 선언하여 해결했다.

 

내 이름 출력하기

public void inputName() {
        System.out.println("이름을 입력하세요.");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        System.out.println("입력하신 이름은 " + name + "입니다.");
    }

next(), nextLine() 차이: next()는 띄어쓰기로 구분하고 nextLine()는 문자열 한줄 

실행 결과

 

아이유 프로필 출력하기

public void printIUProfile() {
        String name = "아이유";
        int age = 30;
        boolean isCollegeStudent = true;
        double weight = 40.5;
        long property = 10000000000l;
        System.out.println("이름 : " + name);
        System.out.println("나이 : " + age);
        System.out.println("대학생인가요? : " + isCollegeStudent);
        System.out.println("몸무게 : " + weight);
        System.out.println("재산 : " + property);
    }

자료형: 정수인지 실수인지 참인지 거짓인지 문자열인지 등을 나타내는 것

tip: int는 10억을 넘지 않을 가능성이 높은 정수를 표현할 때, long은 10억을 넘을 가능성이 높은 정수를 표현할 때 사용

실행 결과

 

수학 문제

public void math1() {
        System.out.println((((10 + 5) * 3) / 5) % 7);
    }

public void math2() {
        int a = 7;
        int b = 5;
        int c = 3;
        int d = 6;
        System.out.println(++a);
        System.out.println(b++);
        System.out.println(c--);
        System.out.println(--d);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }

+ : 덧셈, - : 뺄셈, * : 곱셈, / : 나눗셈, % : 나머지 연산

double, int 의 연산 결과는 double이 출력됨

연산자가 변수 앞에 오면 연산 후 결과 출력, 뒤에 오면 결과 출력 후 연산을 수행함

 

보너스 3등분하기

 public void divideThreeEqualParts() {
        System.out.println("보너스 금액을 입력하세요.");
        Scanner scanner = new Scanner(System.in);
        int bonus = scanner.nextInt();
        double part = (double) bonus / 3;
        System.out.println("3등분된 보너스 금액은 " + part + "원 입니다.");
    }

int 자료형끼리 연산하면 int 자료형 결과가 출력되기 때문에 double 로 형변환 진행

실행 결과

3의 배수인지 체크하기

public void checkMultipleOfThree() {
        System.out.println("3의 배수인지 판단하고 싶은 숫자를 입력하세요.");
        Scanner scanner = new Scanner(System.in);
        int input = scanner.nextInt();

        if (input % 3 == 0) {
            System.out.println("3의 배수입니다.");
        }
        else {
            System.out.println("3의 배수가 아닙니다.");
        }
    }

나머지 연산자(%) 사용

실행 결과

2회차 미션

요구 사항

  • JSCODE 1~3기가 시험을 봤다. 1, 2기는 평균 점수가 60점 이상이어야 합격이다. 3기는 평균 점수가 70점 이상이어야 합격이다. 다만, 100점 과목이 2개 이상일 경우 평균 점수와 상관없이 합격이다.
    • 3개 과목 점수 입력
    • 최고점, 최저점 출력 
    • 합격일 경우 합격입니다.라는 문구를 출력해야 한다.
    • 불합격일 경우 불합격입니다.라는 문구를 출력해야 한다.
import java.util.Scanner;

public class Mission2 {
    public void printTestResult() {
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);

        System.out.println("몇 기인지 입력해주세요.");
        int groupNum = scanner.nextInt();

        System.out.println("HTML 과목 점수를 입력해주세요.");
        int htmlScore = scanner.nextInt();

        System.out.println("CSS 과목 점수를 입력해주세요.");
        int cssScore = scanner.nextInt();

        if (htmlScore > cssScore) {
            max = htmlScore;
            min = cssScore;
        }
        else {
            max = cssScore;
            min = htmlScore;
        }

        System.out.println("Javascript 과목 점수를 입력해주세요.");
        int javaScriptScore = scanner.nextInt();

        if (javaScriptScore > max) max = javaScriptScore;
        else if (javaScriptScore < min) min = javaScriptScore;

        double avg = (double) (htmlScore + cssScore + javaScriptScore) / 3;
        boolean isPass;

        if ((htmlScore == 100 && cssScore == 100)
                || (htmlScore == 100 && javaScriptScore == 100)
                || (cssScore == 100 && javaScriptScore == 100)) {
            isPass = true;
        }
        else {
            if (groupNum == 3) {
                isPass = avg >= 70;
            }
            else {
                isPass = avg >= 60;
            }
        }

        if (isPass) System.out.println("합격입니다.");
        else System.out.println("불합격입니다.");
        System.out.println("전체 과목 중 최고점은 " + max + "점입니다.");
        System.out.println("전체 과목 중 최저점은 " + min + "점입니다.");
        System.out.println("전체 과목의 평균은 " + avg + "점입니다.");
    }
}

두번째 과목 입력 시부터 최고점, 최저점 계산

평균 점수 double 형변환

합불 여부를 boolean 형 변수에 지정

 

 2회차 연습 문제와 미션을 진행해보았다. 아주 기본적인 내용들이지만 오랜만에 마주해서 그런지 잘 기억이 나질 않았다. 

그래도 족집게 노트를 천천히 읽어보면서 연습 문제를 풀어보니 서서히 기억이 돌아오는 것 같았다.

결론적으로는 오랜만에 재밌었다. 실무에서도 이런 재미를 느끼면 좋겠건만 쉽지 않은 것 같다.

얼른 자바와 스프링 프로젝트를 진행해보고 싶당

'Java' 카테고리의 다른 글

JSCODE 6회차  (1) 2023.02.20
JSCODE 5회차  (1) 2023.02.16
JSCODE 4회차  (2) 2023.02.13
JSCODE 3회차  (1) 2023.02.09
JSCODE 1회차  (1) 2023.01.30