Java 입문 클래스 2회차 미션

    1회차 미션

    입출력 받고 조건문을 활용한 최저,최대값 구하고 평균값 구하기

    배운내용, 깨달은 점

    Java에서 입출력을 하는 방법

    삼항연산자 사용법(max,min함수로 바꾸었습니다.)

    Math.max(),min() 함수 사용법

    배열의 필요성

    double로의 자동형변환

    어려웠던 점, 반성하고 싶은 점/ 개선할 방법

    난 공부해왔지라고 생각했었지만 정작 미션에 들어가니 Scanner의 문법이 잘 기억이 나지 않아 검색을 활용하게 되었습니. 그 점은 제가 배운 내용을 충분히 체화하지 않고 배웠다고 저 혼자 느꼈기 때문이라고 생각합니다. 앞으로 자만하지 않고 배운 것을 더 체화하고 습득할 수 있도록 노력해야겠습니다.

     

    삼항연산자를 이용해 max,min 값을 구했었는데 max함수와 min함수를 이용해 좀 더 간결하게 코드를 작성했습니다.

    미션 제출

    쪽집게 과외

    연습문제 1 내 이름 출력하기

    import java.util.Scanner;
    public class Main{
        public static void main(String[] args) {
    
            Scanner sc = new Scanner(System.in);
    
            System.out.println("이름을 입력하세요.");
            String name = sc.nextLine();
            System.out.println("입력하신 이름은 "+name+"입니다.");
        }
    }

    연습문제 2 아이유 프로필 출력하기

    public class Main{
        public static void main(String[] args) {
    
            String name = "아이유";
            int age=30;
            boolean isStudent = true;
            double weight =40.5;
            long money=10000000000L;
            System.out.println("이름 : "+name);
            System.out.println("나이 : "+age);
            System.out.println("대학생인가요? : "+isStudent);
            System.out.println("몸무게 : "+weight);
            System.out.println("재산 : "+money);
        }
    }

    연습문제 3 수학 문제

    public class Main{
        public static void main(String[] args) {
            System.out.println((((10+5)*3)/5)%7); //2
        }
    }

    연습문제 4 ++, --

    int a = 7;
    int b = 5;
    int c = 3;
    int d = 6;
    System.out.println(++a); //8
    System.out.println(b++); //5
    System.out.println(c--); //3
    System.out.println(--d); //5
    System.out.println(a); //8
    System.out.println(b); //6
    System.out.println(c); //2
    System.out.println(d); //5

     

    연습문제 5 보너스 3등분 하기

    import java.util.Scanner;
    public class Main{
        public static void main(String[] args) {
    
            System.out.println("보너스 금액을 입력하세요.");
            Scanner sc = new Scanner(System.in);
            int bonusMoney = sc.nextInt();
            System.out.println("3등분된 보너스 금액은 "+bonusMoney/3.0+"입니다.");
        }
    }

    연습문제 6 이게 3의 배수일까요?

    import java.util.Scanner;
    public class Main{
        public static void main(String[] args) {
            System.out.println("3의 배수인지 판단하고 싶은 숫자를 입력하세요.");
            Scanner sc = new Scanner(System.in);
            int inputVal= sc.nextInt();
            if(inputVal%3==0){
                System.out.println("3의 배수입니다.");
            }else {
                System.out.println("3의 배수가 아닙니다.");
            }
        }
    }

    2회차 미션

    import java.util.Scanner;
    public class Main{
        public static void main(String[] args){
    
            Scanner sc=new Scanner(System.in);
    
            System.out.println("몇 기인지 입력해주세요.");
            int year = sc.nextInt();
            System.out.println("HTML 과목 점수를 입력해주세요.");
            int htmlScore = sc.nextInt();
            System.out.println("CSS 과목 점수를 입력해주세요.");
            int cssScore=sc.nextInt();
            System.out.println("JavaScript 과목 점수를 입력해주세요.");
            int javaScriptScore = sc.nextInt();
    
            int maxScore = Math.max(Math.max(htmlScore,cssScore),javaScriptScore);
            int minScore = Math.min(Math.min(htmlScore,cssScore),javaScriptScore);
    
            double aver = (htmlScore+cssScore+javaScriptScore)/3.0;
    
            if(year==1 || year==2){
                if(aver>=60){
                    System.out.println("합격입니다.");
                } else if (htmlScore==100 && cssScore==100 ||
                        htmlScore==100&&javaScriptScore==100 ||
                        cssScore==100&&javaScriptScore==100) {
                    System.out.println("합격입니다.");
                }
                else{
                    System.out.println("불합격입니다.");
                }
            } else if (year==3) {
                if(aver>=70){
                    System.out.println("합격입니다.");
                } else if (htmlScore==100 && cssScore==100 ||
                        htmlScore==100&&javaScriptScore==100 ||
                        cssScore==100&&javaScriptScore==100) {
                    System.out.println("합격입니다.");
                } else{
                    System.out.println("불합격입니다.");
                }
            }
            else{
                System.out.println("기수를 다시 입력해주세요.");
                return;
            }
            System.out.println("전체 과목 중 최고점은 "+maxScore+"입니다.");
            System.out.println("전체 과목 중 최저점은 "+minScore+"입니다.");
            System.out.println("전체 과목의 평균은 "+aver+"점입니다.");
            }
    }

    궁금한 점

    1. Java는 특이하게 코드를 입력할 때 앞에 대문자가 들어가있는 경우가 많은 것 같습니다( ex) System.out.println(); )  가끔 대문자를 쓰지 않아 코드를 틀릴 때도 있고 계속 shift키를 눌러야하는 경우가 있어 코드 작성이 귀찮아지는데 혹시 자바에서 앞글자 대문자를 사용하는 이유가 따로 있을지 궁금합니다.

     

    2. 2회차 미션에서 평균을 구하기 위해 나누어주었을 때 3.0을 사용하였는데 3으로 나누고 double로 형변환을 시켜주는게 좀 더 시각적으로 나았을까라는 생각이 듭니다. 멘토님의 생각을 듣고 싶습니다..!

     

    3. 2회차 미션 else if 구문의

    (htmlScore==100 && cssScore==100 ||
            htmlScore==100&&javaScriptScore==100 ||
            cssScore==100&&javaScriptScore==100)

    부분에서 Multiple occurrences of 'htmlScore==100 && cssScore==100 || htmlScore==100&&javaScriptScore==100 || ...' 

    라는 경고창이 뜨는데 어떻게 바뀌면 좋을지 경고창의 의미가 뭔지 궁금합니다.

     

    4. 이렇게 고쳤으면 좋겠다 싶은 코드리뷰를 받고 싶습니다. 자잘한 것이라도 어떤 것이든 해주시면 정말 감사할 것 같습니다!

     

    5. 자바를 처음 배워도 심화 미션에 참여하는 것이 좋을지 여쭤보고 싶습니다. 일반 미션 이후 시간이 조금 남아 심화미션을 한 번 검색해 보았는데 저에게는 아직 어려운 내용인 것 같습니다. 그럼에도 불구하고 심화미션에 어떻게든 참여해 보는 것이 나을까요..?

    댓글