본문 바로가기

JAVA/Coding

[JAVA] 자바 do-while문을 사용해 사칙연산 계산기 만들기

 

 

안녕하세요! JAVA의 반복문에는 for문, while문, do-while문이 있는데요?

for문과 while문은 다른 언어에서도 많이 사용하기 때문에 다들 아실거라 생각합니다.

 

 


 

 

 

do-while문이란?

- 반복영역을 최소한 한번은 실행하는 구조를 뜻합니다. 

- 기본 while문과는 다르게 {}사이의 코드가 무조건 한번은 반복하는 구조로 되어 있습니다.

- while(조건문) 다음에 꼭 ;(세미콜론)을 붙여주셔야 합니다.

- while(조건문)에서 조건문이 True일 경우 반복해서 실행이 되고 False일 경우 반복문이 종료됩니다.

do {
 반복 실행할 문장
} while(조건문);
//조건문이 True일 경우 실행 False일경우 종료

 

 

ex) 사칙연산 계산기

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	
		Double num1, num2; //num1과 num2의 숫자가 실수타입이 입력될 수 도 있을 경우를 대비하여 Double로 변수타입을 지정해준다.
		String math, next; //math변수는 String으로 연산기호를 String타입으로 받아준다.
		
	
		do {
			System.out.println("첫번째 숫자 부호 두번째 숫자 순으로 입력하시오.");
			num1 = sc.nextDouble();
			math = sc.next();
			num2 = sc.nextDouble();
			
			switch(math) { //math 변수를 넣어 준다. 
			case "+": //변수의 값이 "+"일 경우
				System.out.println(num1+" "+math+" "+num2+" = "+(num1+num2));
				break;
			case "-": //변수의 값이 "-"인 경우
				System.out.println(num1+" "+math+" "+num2+" = "+(num1-num2));
				
			case "*": //변수의 값이 "*"인 경우
				System.out.println(num1+" "+math+" "+num2+" = "+(num1*num2));
				break;
			case "/": //변수의 값이 "/"인 경우
				System.out.println(num1+" "+math+" "+num2+" = "+(num1/num2));
				break;
			default: //모든 case가 없을 경우
				System.out.println("잘못된 값입니다.");
			}
			System.out.println("더 입력하실 거면 Yes를 입력하세요.");
			next = sc.next();
		}while(next.equals("Yes"));
	}

}

저는 do-while문 예제로 switch문을 사용해 사칙연산 계산기를 만들어주었습니다.

 

반응형