본 글은 본인 대학교와 비트교육센터가 진행한 SW몰입형 수업에서
실습한 내용을 중심으로 작성한 글입니다.
SW 몰입형 수업 #1.
간단한 사칙연산 계산기 코딩
(조건문 사용)
정수 2개와 부호 1개가 결합된 연산식을 입력하면
그 연산식에 맞는 결과값을 출력해주는 코드
이 문제를 풀기 위해
계산식을 문자열로 입력받고
String 클래스의 splite() 메소드로
각각을 나눠 결과값을 도출함
1. if문 이용 코드
import java.util.Scanner;
public class First {
public static void main(String []args) {
Scanner sc = new Scanner(System.in); //reference type
String a = sc.nextLine(); // 연산식 입력
String cnum[] = a.split(" "); // 입력한 식을 띄어쓰기 단위로 나눠 각각 저장
// 나눈 문자열을 각각 num1, num2, char1에 저장 (숫자 2개와 연산자)
int num1 = Integer.parseInt(cnum[0]);
int num2 = Integer.parseInt(cnum[2]);
String ch = cnum[1];
int result; // 결과값을 초기화할 변수 선언
double result1; // 나누기 결과값을 초기화할 변수 선언
// if문을 통해 연산자를 확인하고 결과값을 도출
if(ch.equals("+")) {
result = num1 + num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
}else if(ch.equals("-")) {
result = num1 - num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
}else if(ch.equals("*")) {
result = num1 * num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
}else if(ch.equals("/")) {
result1 = (double)num1 / (double)num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result1);
}else {
System.out.println("계산을 할 수 없습니다. ");
}
}
}
2. switch문 이용 코드
import java.util.Scanner;
public class First {
public static void main(String []args) {
Scanner sc = new Scanner(System.in); //reference type
String a = sc.nextLine(); // 연산식 입력
String cnum[] = a.split(" "); // 입력한 식을 띄어쓰기 단위로 나눠 각각 저장
// 나눈 문자열을 각각 num1, num2, char1 변수에 초기화
int num1 = Integer.parseInt(cnum[0]);
int num2 = Integer.parseInt(cnum[2]);
String ch = cnum[1];
int result; // 결과값을 초기화할 변수 선언
double result1; // 나누기 결과값을 초기화할 변수 선언
// ch의 값에 따라 사칙연산 계산 후 출력
switch(ch) {
case "+":
result = num1 + num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
break;
case "-":
result = num1 - num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
break;
case "*":
result = num1 * num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result);
break;
case "/":
result1 = (double)num1 / (double)num2;
System.out.println(num1 + " " + cnum[1] + " " + num2 + " = " + result1);
break;
default :
System.out.println("계산을 할 수 없습니다. ");
break;
}
}
}

'코딩테스트 > 프로그래밍 예제 풀이' 카테고리의 다른 글
| [Java] Inner Class 종류 (0) | 2023.07.23 |
|---|---|
| [Java] 학생 성적 처리 프로그램 (다수 클래스 이용) (0) | 2023.07.23 |
| [Java] 별 모양 문제 (0) | 2023.07.23 |
| [Java] 반복문 예제 풀이 (2문제) (0) | 2023.07.22 |
| [Java] 사칙연산 계산기 - 반복문 사용 (do-while) (0) | 2023.07.22 |