자바(JAVA)/미니 프로젝트 & 기초 공부

Java 기초 다시 공부하기 2주차-콘솔 화면에 구구단 1~9단 출력하기, 결제 금액 캐시백 계산 프로그램 구현

개발학생 2024. 6. 12. 17:41
반응형

1. 콘솔 화면에 구구단 1~9단 출력하기

1) 조건

  • 다중 반복문 이용
  • String.format 함수 사용
  • 아래 이미지와 동일한 레이아웃으로 출력

2) 코드

// 자바 기초 미니과제 1: 콘솔 화면에 구구단 1~9단 출력하기
public class MiniTask1 {
    public static void main(String[] args) {
        System.out.println("[구구단 출력]");
        // 1~9에 1~9 곱하기
        for (int j = 1; j <= 9; j++) {
            // 1~9단
            for (int i = 1; i <= 9; i++) {
                //System.out.print(i);
                // 문자열 포맷으로 형식 맞춰서 출력
                String gugudan = String.format("%02d X %02d = %02d    ", i, j, i*j);
                //System.out.print(i + " X " + j + " = " + i * j);
                System.out.print(gugudan);
            }
            System.out.println();
        }
    }
}

3) 출력 결과

4) 회고

구구단이라...

프로그래밍을 잘 이해한 사람들이라면 식은 죽 먹기일 수도 있겠지만, 난 사실 이번 과제를 하기 전까지는 구구단도 남의 코드를 봐야했다.... 이번에 드디어 내 손으로 코드를 직쩝 짜니까 너무 뿌듯했다! 이걸 이해하지 못하고 스프링부트를 하고 JSP를 했었으니 당연히 이해가 안될 만 했다... 

 

제출은 당연히 코드 주석 부분은 지우고 했다! 그래도 기록에는 고민한 흔적을남겨두고 싶어서 올려 봤다.

 

2. 결제 금액 캐시백 계산 프로그램 구현

1) 조건

  • 결제 금액의 10%를 적립
  • 캐시백 포인트 단위는 백원단위이고, 한 건의 캐시백 포인트는 최대 300원을 넘지 못함 
  • 아래 이미지와 동일한 레이아웃으로 출력

2) 코드

import java.util.Scanner;

// 자바 기초 미니과제 2: 결제 금액 캐시백 계산 프로그램
public class MiniTask2 {
    // 결제 금액에 대한 캐시백 계산 메서드(백원 이하 버림, 최대 300원)
    private static double cashBackCal(int price) {
        double cashBack = Math.floor(((double) (price * 0.1)) / 100) * 100;
        if (cashBack > 300) cashBack = 300;

        return cashBack;
    }

    public static void main(String[] args) {
        System.out.print("결제 금액을 입력해 주세요.(금액):");
        Scanner sc = new Scanner(System.in);
        // 결제 금액 입력
        int price = sc.nextInt();
        // 캐시백 계산 메서드 호출
        double cashBack = cashBackCal(price);

        // 결제 금액에 대한 캐시백 결과 출력
        String result = "결제 금액은 " + price + "원이고, " + "캐시백은 " + String.format("%1.0f", cashBack) + "원 입니다.";
        System.out.println(result);
    }
}

3) 출력 결과

4) 회고

유지보수성까지 고민해서 메서드로 계산 부분을 분리하고 출력에 성공했다! 짧은 if문은 한 줄로 줄여봤다

근데 사실 이게 메서드에 넣기 적절한 코드인지 아닌지는 잘 모르겠다.. 자바의 핵심을 잘 이해하지 못한 거겠지.... 좀 더 찾아보면서 공부해봐야 할 것 같다.

반응형