Tiny Star

📌TIL [Today I Learn]

[TIL] 23년 5월 22일 월요일

청크 2023. 5. 22. 22:41

23년 5월 22일 월요일

오늘의 목표 : Java 문법 종합반 1주차 완강

 

오늘 공부한 내용🤓

오늘은 Java문법 기초 강의 1주차 JVM, 변수의 개념과 타입, 형변환에 관한 강의를 들었다.

 

1주차 숙제로 [요리 레시피 메모장 만들기]를 실습해 봤다.입력과 출력의 조건이 주어진 코드를 작성하면 된다.

 

[내가 작성한 코드]

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String title = sc.next();
        float rate = sc.nextFloat();
        String input1 = sc.next();
        String input2 = sc.next();
        String input3 = sc.next();
        String input4 = sc.next();
        String input5 = sc.next();
        String input6 = sc.next();
        String input7 = sc.next();
        String input8 = sc.next();
        String input9 = sc.next();
        String input10 = sc.next();

        title = "[" + title + "]";
        System.out.println(title); //제목 출력
        int intRate = (int)rate; // 형변환
        System.out.println(intRate);
        double percentageRate = intRate * 100 / 5.0;
        System.out.println("1. " + input1);
        System.out.println("2. " + input2);
        System.out.println("3. " + input3);
        System.out.println("4. " + input4);
        System.out.println("5. " + input5);
        System.out.println("6. " + input6);
        System.out.println("7. " + input7);
        System.out.println("8. " + input8);
        System.out.println("9. " + input9);
        System.out.println("10. " + input10);
    }
}

[정답 코드]

import java.util.Scanner;

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

        Scanner sc = new Scanner(System.in);
        String title = sc.nextLine();
        float rate = sc.nextFloat();

        String input1 = sc.nextLine();
        String input2 = sc.nextLine();
        String input3 = sc.nextLine();
        String input4 = sc.nextLine();
        String input5 = sc.nextLine();
        String input6 = sc.nextLine();
        String input7 = sc.nextLine();
        String input8 = sc.nextLine();
        String input9 = sc.nextLine();
        String input10 = sc.nextLine();


        System.out.println("[" + title + "]");
        int intRate = (int) rate;
        double percentageRate = intRate * 100 / 5.0;
        
        System.out.println(percentageRate);
        System.out.println("1. " + input1);
        System.out.println("2. " + input2);
        System.out.println("3. " + input3);
        System.out.println("4. " + input4);
        System.out.println("5. " + input5);
        System.out.println("6. " + input6);
        System.out.println("7. " + input7);
        System.out.println("8. " + input8);
        System.out.println("9. " + input9);
        System.out.println("10. " + input10);
    }
}

 

어려웠던 내용😵‍💫

앞서 자바의 정석에서 미리 예습이 되었던 내용이라 큰 어려움은 없었다.

궁금&부족한 내용❓
    String title = sc.next(); -> sc.nextLine();

내가 작성한 코드로 구현이 안된건 아니지만, sc.next와 nextLine의 정확한 차이를 몰랐다.

느낀 점💡

sc.next를 사용하게 되면 띄어쓰기를 하더라도 다음 값으로 넘어가기 때문에, 

띄어쓰기까지 허용해야 할 경우 nextLine으로 변경해 주는 것이 올바른 방법이라고 한다.

 

단순히 변수나 연산자, 조건문 등만 공부한 상태라 기초 입출력 문제마저 푸는 게 쉽지는 않은 것 같다.

코딩테스트를 통해 문제를 푸는 능력을 꾸준히 향상해야겠다.

 

'📌TIL [Today I Learn]' 카테고리의 다른 글

[TIL] 23년 5월 31일 수요일  (0) 2023.05.31
[TIL] 23년 5월 30일 화요일  (0) 2023.05.30
[TIL] 23년 5월 25일 목요일  (0) 2023.05.25
[TIL] 23년 5월 24일 수요일  (0) 2023.05.24
[TIL] 23년 5월 23일 화요일  (0) 2023.05.23