4칙연산이라 조금 간단한 편이였는데
중복된 코드 줄이기랑 여러번 입력이 가능한건 구현 못했다ㅠ
내 코드가 간단하고 허접한데 실행이 되는게 신기하다
그리고 아직도 잘 모르겠다!!!!!!
머리속에는 어떤 기능을 표현해야한다고 생각하는데 표현방법을 모르니 힘들다ㅠ
영어를 몰라서 대화를 못하는 사람마냥 모니터랑 눈싸움 하는 사람^^..
chatgpt가 없으면 많이 힘들었을거 같아,,, 세상 좋아졌다
아직 배열 연습문제를 못풀었는데
내일 마저 풀고 예습해야한다 화이팅..
아 유튜브 언어순화하는 프로그램도 만들어보고싶은데 주말에 할수있을거같다,,,
package com.codestates;
import java.util.Scanner;
public class CalculatorApplication {
public static void main(String[] args) {
System.out.println("===Java Calculator===");
Scanner input = new Scanner(System.in);
/*
요구 사항에 따라 간단한 계산기를 만들어주세요.
1. 사용자의 입력을 다음과 같이 받을 수 있습니다.
- 첫 번째 입력에서는 숫자를 입력 받습니다.
- 두 번째 입력에서는 연산자를 입력 받습니다.
- 세 번째 입력에서는 숫자를 받아야 합니다.
2. 연산자의 종류는 +, -, *, / 네 가지입니다.
3. 연산자의 종류에 따라 조건을 분기합니다.
4. 소수점 연산을 수행할 수 있어야 합니다.
5. 연산 결과를 콘솔에 출력합니다.
- 세 번째 입력 데이터인 숫자를 입력한 후, 엔터를 치면 연산 결과를 콘솔에 출력해야 합니다.
*/
// TODO...
float num1, num2, result = 0.0f; //소수점 연산을 위해 실수로 초기화
String operator;
System.out.println("첫 번째 숫자를 입력해 주세요.");
if(input.hasNextFloat()) {
num1 = input.nextFloat(); //실수 입력
} else{
System.out.println("올바른 숫자를 입력해 주세요.");
return;
}
System.out.println("연산자를 입력해 주세요. (+,-,*,/ 중 하나)");
operator = input.next(); //연산자 입력
if(!(operator.equals("+") || operator.equals("-") || operator.equals("*") || operator.equals("/"))) {
System.out.println("올바른 연산자를 입력해 주세요.");
return;
}
System.out.println("두 번째 숫자를 입력해 주세요.");
if(input.hasNextFloat()){
num2 = input.nextFloat(); //실수 입력
} else {
System.out.println("올바른 숫자를 입력해 주세요.");
return;
}
if ( operator.equals("+")) { //문자열 비교를 위해 .equals()
result = num1 + num2;
} else if( operator.equals("-")) {
result = num1 - num2;
} else if( operator.equals("*")) {
result = num1 * num2;
} else if ( operator.equals("/")) {
if (num2 != 0) { //0으로 나눌 수 없음
result = num1 / num2;
} else {
System.out.println("0으로 나눌 수 없습니다.");
return;
}
}
System.out.println("계산 결과는 "+ result +" 입니다.");
}
}
'실습👁️🗨️ > 연습' 카테고리의 다른 글
텍스트 스타크래프트 프로그램(this.) (0) | 2023.10.20 |
---|---|
초간단(?) 김밥 주문프로그램 키오스크 만들기 (0) | 2023.10.19 |
자막순화프로그램 (0) | 2023.10.18 |
구구단 프로그램 (0) | 2023.10.18 |
전기요금계산기 만들기 (0) | 2023.10.17 |