본문 바로가기
JAVA

JAVA 실습 1. 사용자로부터 입력 받은 구구단 프로그램 완성하기.

by 김마리님 2020. 3. 23.

while문과 for문을 이용하여 사용자가 프로그램을 종료하기 전까지 구동되는 구구단 프로그램을 완성한다.

for문을 이용하여 단순히 사용자가 입력한 구구단 프로그램을 완성하는 것은 쉽다.

import java.util.Scanner;

public class Gugudan2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
			System.out.println("값을 입력하세요.");
			int num = sc.nextInt();
			for (int i = 1; i < 10; i++) {
				System.out.println(num + "*" + i + "=" + i * num);
			}
		}
		sc.close();
	}

이렇게 되면 구구단 프로그램이 한번만 사용되고, 즉시 종료된다.

이를 무한으로 사용하기 위해 while문을 이용한다.

import java.util.Scanner;

public class Gugudan2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("구구단을 시작합니다.");
		boolean confirm=true;
		while (confirm) {
			System.out.println("값을 입력하세요.");
			int num = sc.nextInt();

			for (int i = 1; i < 10; i++) {
				System.out.println(num + "*" + i + "=" + i * num);
			}
			System.out.println("계속 진행할까요? y/n");
			String check=sc.next();
			if(check.equals("n")) {
				confirm=false;
			}
		}
		System.out.println("구구단 프로그램 종료");
		sc.close();
	}
}

while문이 true기 때문에 이 프로그램은 계속 돌아가게 될 것이다. 

이후 for문이 종료되고 나면 새로이 string 값을 입력 받는 창이 팝업 되는데, 이 때 if문이 걸려 있는 것을 볼 수 있다.

n을 출력받으면 while 조건문에 들어있던 confirm을 false로 바꾸며 while문을 강제로 종료시키는 방법이다.

이외에도,

		while (true) {
			System.out.println("값을 입력하세요.");
			int num = sc.nextInt();

			for (int i = 1; i < 10; i++) {
				System.out.println(num + "*" + i + "=" + i * num);
			}
			System.out.println("계속 진행할까요? y/n");
			String check=sc.next();
			if(check.equals("n")) {
				break; 
			}

다음과 같이 if문에 break 문을 넣는 방법도 있다.

break문은 break문에서 가장 가까운 반복문을 종료시켜주는 기능이 있다. 현재 상태에서는 break문 동작 시, while문만 작동되고 있으니 while문을 빠져나가고 프로그램이 종료된다.

다음 빨간 상자가 while문과 if문이 결합한 반복문이다.

y를 입력하자 다시 처음으로 되돌아와 연산을 시작하고, n을 입력하자 if문에서 강제로 while문을 종료시켜 프로그램이 종료되는 형태를 볼 수 있다.

반응형