프로그래밍 언어/javastudy

자바 공부 #4 369게임, 커피 주문, 사칙 연산

fladi 2021. 7. 5. 08:25
728x90

교재: 명품 JAVA ESSENTIAL

페이지 89 9번, 10번, Bonus1번

 

<9번 369게임>

 

import java.util.Scanner;

public class threesixnine {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int first, second;
		int num;
		
		System.out.println("1~99 사이의 정수를 입력하세요>> ");
		num = scanner.nextInt();
		first = num/10;
		second = num%10;
        
		System.out.print("박수");
		if (first%3 == 0 && second%3 == 0)
			System.out.println("짝짝");
		else if (first%3 == 0 || second%3 == 0)
			System.out.println("짝");
		else
			System.out.println("없음");
			
		scanner.close();
	}
}

 

2자리 수 정수를 받아 10의 자리수, 1의 자리수로 나눈 뒤

각각에서 3의 배수가 있는지 확인한 후 결과값을 출력합니다.

 

 

<10번 카페 주문하기 변형>

 

import java.util.Scanner;

public class cafe {
	static void menu() {
		System.out.println("┌───────────────┐");
		System.out.println("│에스프레소 2000원 	│");
		System.out.println("│아메리카노 2500원	│");
		System.out.println("│카푸치노  3000원	│");
		System.out.println("│카페라떼  3500원	│");
		System.out.println("└───────────────┘");
	}

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		String choice;
		int count;
		double price = 0;

		boolean go = true;
		while (go) {
			menu();
			System.out.print("커피 주문하세요>>");
			choice = scanner.next();
			count = scanner.nextInt();

			if (choice.equals("에스프레소")) {
				price = 2000 * count;
				if (count >= 10)
					price = price * 0.95;
			}
			else if (choice.equals("아메리카노"))
				price = 2500 * count;
			else if (choice.equals("카푸치노"))
				price = 3000 * count;
			else if (choice.equals("카페라떼"))
				price = 3500 * count;
			else
				price = 0;
				
			if (price <= 0)
				continue;
			
			go = false;
		}
        
		System.out.println((int)price +"원 입니다.");
		scanner.close();
	}
}

 

이 문제는 if문으로 만들어봤습니다.

잘못 입력되는 걸 방지하기 위하여 go로 반복문 처리 해줬습니다. 

잘못 입력할 시(메뉴판에 없는 메뉴 주문 or 0개 주문) 다시 주문을 받도록 만들었습니다.

 

 

메뉴판 이클립스에선 깔끔하게 나오는데 블로그 코드블럭에선 조금 이상하게 나오네요.

이클립스에선 이렇게 보입니다.

 

깔끔

 

 

<Bonus 1>

 

import java.util.Scanner;

public class Arithmetic {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.print("식을 입력하세요>>");
		double op1 = scanner.nextDouble();
		String operator = scanner.next();
		double op2 = scanner.nextDouble();
		double result =0;
		switch(operator) {
		case "+":
			result = op1 + op2; break;
		case "-":
			result = op1 - op2; break;
		case "/":
			if (op2 == 0) {
				System.out.println("0으로 나눌 수 없습니다.");
				scanner.close(); return;	
			}
			result = op1/op2; 
			break;
		default: 
			System.out.println("연산 기호가 잘못되었습니다.");
		}
		
		System.out.println("연산 결과 "+result);
		scanner.close();
	}
}

 

이건 그냥 빈칸채우기여서 쉬웠네요 

728x90