본문 바로가기
☕Java

[Java 이해하기] 11. Java로 계산기 만들기 (2)

by Luvbit 2024. 5. 18.

 


➕ ➖ ✖️ ➗ 🟰 ❓

 

계산기 틀은 저번 게시글에서 다루었습니다.  이제 Main 클래스에서 계산기를 만들어내고,

console 창을 통해 사용자로부터 값을 입력받아 원하는 결과를 도출해 보겠습니다.

 

 

 

 

 

1. 우선, 사용자에게  값을  입력받기 위해서 Scanner라는 라이브러리를 import 하겠습니다.

package Calculator;

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		
	}
}

/*
Scanner 클래스는 java.util 패키지에 포함되어 있습니다.
이 클래스를 사용하면 사용자로부터 입력을 받을 수 있습니다.
*/

 

⚠️ Class위로 올 수 있는 요소는 다음과 같습니다. Package → Import → Class

 

 

 

💡import , library 

import 패키지이름.클래스이름;
import 패키지이름.*; // 해당 패키지의 모든 클래스를 불러옵니다.
import: 특정 클래스나 패키지를 현재 파일로 불러와 사용할 수 있게 하는 Java 명령문입니다.
library: 재사용 가능한 코드 집합으로, 특정 기능을 수행하는 클래스와 메소드의 모음.

 

 

=> 이미 만들어져있는 Scanner를 import 하면, 따로 구현하지 않고도 사용자로부터 입력을 받을 수 있게 됩니다.

 

 

 

 

 

 

2. Scanner를 통해 사용자에게 입력받기 위해 스캐너 객체를 생성하고, 계산기를 사용하기 위해 계산기틀로 계산기를 생성합니다.

Scanner sc = new Scanner(System.in);
Calculator cal = new Calculator(); //계산기 틀로 계산기 만들기

 

💡 Java에서 new 키워드는 새로운 객체를 생성하는 데 사용됩니다. 

     new 키워드를 사용하면 클래스의 생성자를 호출하여 메모리에 객체를 생성하고, 이 객체의 참조를 반환합니다.

 

 

 

 

 

 

3. 계산기 프로그램을 시작하면 , 사용자가 "exit"라는 단어를 입력할 때까지 프로그램을 계속 돌아가게끔 do-while 반복문을 활용하겠습니다.

 

String msg = ""; //사용자에게 입력받은 값을 저장할 변수 선언
do {
	System.out.println("=======  계산기 프로그램 시작! ======="); //프로그램 시작 알림
	//입력 받는 로직 구현 
			
			
	System.out.println("계속은 아무 키, 종료는 \"exit\"를 입력해주세요!");
	msg = sc.next(); //사용자의 입력값을 저장
    
} while(!msg.equals("exit"));
// msg가 exit와 같으면 (!는 not) , while의 조건식이 false가 되면서 do-while문 탈출

 

 

 

4. 사용자에게 피연산자와 연산자를 입력받는 코드를 작성하겠습니다.

//입력 받는 로직 구현 
System.out.println("숫자, 연산자, 숫자 순으로 입력해주세요.");

cal.setNum1(sc.nextInt()); //첫번째 피연산자 입력
cal.setOperator(sc.next().charAt(0)); 
/*String으로 받은 연산자를 char 데이터타입으로 변환하기위해 charAt메서드 사용.
 charAt은 인덱스를 받는데, operator는 하나의 문자이기때문에 0을 전달한다.*/ 
cal.setNum2(sc.nextInt()); // 두번째 피연산자 입력
			
System.out.println("계산 결과 : "+cal.calculate()); 
//메소드 호출을 통해 결과 출력!

 

 

 

 

5. 코드 실행 시 정상적으로 결과가 출력되는 모습을 보실 수 있습니다! 

 

 

 

 

 

package Calculator;

import java.util.Scanner;

public class Main {
	public static void main(String args[]) {
		Scanner sc = new Scanner(System.in);
		Calculator cal = new Calculator();
		
		
		String msg = "";
		do {
			System.out.println("=======  계산기 프로그램 시작! =======");
			//입력 받는 로직 구현 
			System.out.println("숫자, 연산자, 숫자 순으로 입력해주세요.");
			cal.setNum1(sc.nextInt());
			cal.setOperator(sc.next().charAt(0));
			cal.setNum2(sc.nextInt());
			
			System.out.println("계산 결과 : "+cal.calculate());
			
			System.out.println("계속은 아무 키, 종료는 \"exit\"를 입력해주세요!");
			msg = sc.next();
		} while(!msg.equals("exit"));
	}
}

 

 

 

여러분들만의 계산기가 완성되었습니다.

코드를 직접 쳐보면서 이 프로그램이 어떻게 작동하는지 주석도 달아보고, 변형도 해보시길 바랍니다!

고생하셨습니다. 다음 게시글에서는 배열로 찾아뵙겠습니다 😍

 

 

 

 

 

 

 

 

계산기를 복습해 보면서 숫자 외에 다른 문자를 입력했을 경우
경고 메시지를 출력하는 등 다양하게 확장해 보세요!

궁금하신 점은 댓글을 남겨주세요
🩵🐰🩵