TIL

TIL - 2025/01/03

호롤로 2025. 1. 3. 22:36

▶ 진행사항

- 오늘은 Java 1주차 강의 숙제와, 새롭게 발의된 과제인 '계산기 만들기' 코드 작성을 시작했다.

 

▶ 1주차 강의 숙제 <요리 레시피 메모장 만들기>

먼저 오늘은 java Scanner 크래스를 이용해, 입력한 데이터를 저장 및 출력하는 방법에 대해 배웠다.

 

기본적으로 Scanner의 메소드를 사용할때, 문자열(String) 으로 입력받고 싶다면, next(), nextLine() 을 사용하고,

정사(int)로 입력받고 싶다면 nextInt() 를 사용한다.

※ Scanner 클래스 사용시 util 패키지 경로 Scanner 클래스 확인

 = import java.util.Scanner;

 

입력받은 값을 토대로, 문자열을 만들고, 매 줄 앞에 부여할 번호도 for(반복)문을 사용하여 부여하고, 입력받은 title 값에 괄호[] 부여 후, 출력하는 코드를 작성했다.

 

▷ 작성한 코드

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(); // 둘째줄 별점을 읽음
        sc.nextLine(); // 나머지 줄 데이터를 읽음

        String[] inputs = new String[10]; // 10줄의 문자열을 저장하는 배열

        for (int i = 0; i < 10; i++) {
            inputs[i] = sc.nextLine();
        } // 매 줄 앞에 부여할 번호 입력

        title = "[" + title + "]";
        System.out.println(title); // 제목 출력

        int intRate = (int) rate;
        System.out.println("별점 : " + intRate); // 별점 출력
        double percentage = intRate * 100 / 5.0;
        System.out.println(" (" + percentage + "%)"); // 별점 퍼센트 출력

        for (int i = 0; i < 10; i++) {
            System.out.println((i + 1) + ". " + inputs[i]); // 각 줄 번호 부여 + 내용 출력
        }
    }
}

▷ 숙제를 진행하는 중엔 여기저기 데이터를 참고하여 작성하였지만, 2주차 강의에 들어서고 메소드별 해설을 들으니 이제야 이해가 가는듯하다.

 

▶ 계산기 만들기 LV1

1. 위 1주차 숙제와 같이, 스캐너 클래스를 활용하여, 필요한 값을 입력받을수 있게 준비하고, 조건문(if)을 사용하여, 사칙연산으로 계산한 값을 구했다. (+ 사칙연산에 이상한 값을 입력할경우 에러 메세지 출력)

 

2. 마지막 결과 값 및 계산을 계속할건지의 대한 질문 멘트 + exit 입력시 작동 종료

- if (sc.next().equals("exit)) break; -> exit 입력시 작동 종료

package com.example.calculator;

import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        System.out.println("Hello, Calculator!");
        Scanner sc = new Scanner(System.in);

        while (true) {
            // 첫번째 값 입력받기
            System.out.println("첫 번째 숫자를 입력하세요: ");
            int num1 = sc.nextInt();
            // 두번째 값 입력받기
            System.out.println("두 번째 숫자를 입력하세요: ");
            int num2 = sc.nextInt();
            // 사칙연산 입력받기
            System.out.println("사칙연산 기호를 입력하세요: ");
            char fbo = sc.next().charAt(0);

            int result = 0;

            if (fbo == '+') {
                result = num1 + num2; // 더하기
            } else if (fbo == '-') {
                result = num1 - num2; // 빼기
            } else if (fbo == '*') {
                result = num1 * num2; // 곱하기
            } else if (fbo == '/') {
                result = num1 / num2; // 나누기
            } else {
                System.out.println("사칙연산 Error"); // 에러메세지
            }

            System.out.println("결과 : " + result);

            System.out.println("계산을 계속하시겠습니까? (exit 입력시 종료)");
            if (sc.next().equals("exit"))
                break;
        }
    }
}

 

마치며

오늘은 강의 수강과 병행하며, 프로젝트 (계산기 만들기)를 진행했다. 나름 여러 클래스와 문법을 알아가며 유익한 시간을 보냈다고 생각하지만 한편으론 막상 코드를 작성하려하면 막히는 내 자신을 보며 아쉬움또한 크게 다가왔다. 이렇게 차근차근 배우다보면 자동적으로 코드를 작성할수 있는 날이 올지 걱정된다.

'TIL' 카테고리의 다른 글

TIL 2024/01/09  (0) 2025.01.10
TIL 2025/01/08  (0) 2025.01.08
TIL - 2024/12/31  (0) 2024.12.31
TIL - 2024/12/30  (1) 2024.12.30
TIL - 2024/12/26  (1) 2024.12.26