▶ 진행사항
- 오늘은 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 |