[Java] 제어문 - 예제

나영원·2020년 8월 24일
0

Java_basic

목록 보기
14/60

지금까지 배운 제어문을 활용하여 두 가지 예제를 풀어보도록 하겠습니다.

Q1. 연산자와 두 수를 변수로 선언한 후 사칙연산이 수행 되는 프로그램을 만들어 보세요.
if - else ife -else if, swtich -case 두 방식 모두 구현해 봅니다.

public class Q1 {

	public static void main(String[] args) {
		
		char operator = '/';
		int i = 10;
		int o = 5;
		int result;
		
		if (operator == '+') {
			result = i + o;
		} else if(operator == '-') {
			result = i - o;
		} else if(operator == '*') {
			result = i * o;
		} else {
			result = i / o;
		}

		System.out.println(result); // 2

if -else if 방식을 활용하여 opreator의 경우에 따라 4가지 조건을 만들어 입력값 i와 o를 사칙연산 하도록 구현하였습니다.

public class Q1switch {

	public static void main(String[] args) {
		
		char operator = '/';
		int i = 10;
		int o = 5;
		int result;
		
		switch(operator) {
		  case '+' : result = i + o;
			System.out.println(result);
			break;
		  case '-' : result = i - o;
			System.out.println(result);
			break;
		  case '*' : result = i * o;
			System.out.println(result);
			break;
		  default : result = i / o;
			System.out.println(result);
			break;
		}

switch-case 문의 경우도 마찬가지로 case를 4가지 연산자로 두어 사친연산을 할 수 있게 구현하였습니다.

Q2. 다음 다이아몬드를 출력해 보세요.

                       *

                      ***

                     *****

                    *******

                     *****

                      ***

                       *
import java.util.Scanner;

public class Q222 {

	public static void main(String[] args) {
		
System.out.println("홀수 값을 입력하세요:");
		
		Scanner scanner = new Scanner(System.in);
		int linecount = scanner.nextInt();
		int spacecount = linecount/2;
	    int starcount = 1;
		
		for (int i = 0; i < linecount; i++) {
			
			for(int j = 0; j <spacecount; j++ ) {
				System.out.print(" ");
			}
			for(int j = 0; j <starcount; j++ ) {
				System.out.print("*");
			}
			for(int j = 0; j <spacecount; j++ ) {
				System.out.print(" ");
			}
			System.out.println(" ");
			
			if (i < linecount/2 ) {
				spacecount -=1;
				starcount +=2;
			} else {
				spacecount +=1;
				starcount -=2;
			}
		}

다이아몬드를 살펴보면 첫째 줄 공백은 전체 줄에 2를 나눈 값과 같고 별은 하나입니다. 그리고 각줄마다 공백은 1칸씩 줄어들고 별은 2개씩 늘어나다가 전체줄에 반이 지나면 다시 반대로 공백이 1칸씩늘고 별이 2개씩 줄어듬을 알 수 있습니다. 이정보를 토대로 반복문을 만들고 그안에 조건문을 집어 넣어 줄이 늘어남에 따라 공백과 별의 증감을 주어 홀수 입력값에 따라 만들어지는 다이아몬드를 구현해 보았습니다.

profile
배우는 개발 일기

0개의 댓글