자바(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문은 한 줄로 줄여봤다
근데 사실 이게 메서드에 넣기 적절한 코드인지 아닌지는 잘 모르겠다.. 자바의 핵심을 잘 이해하지 못한 거겠지.... 좀 더 찾아보면서 공부해봐야 할 것 같다.
반응형