Skip to content

Day 06(21.09.07)

Byeong Gwan Seo edited this page Sep 14, 2021 · 1 revision

07. 조건문 Practice

1. 금액을 입력 받아 잔돈으로 분류해주는 프로그램

Test Case

금액 입력: 137980

출력 결과
5만원 : 2장
1만원 : 3장
5천원 : 1장
1천원 : 2장
500원 : 1개
100원 : 3개
50원 : 1개
10원 : 3개  
import java.util.Scanner;

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

    System.out.print("금액 입력: ");
    int myMoney = input.nextInt();

    if (myMoney >= 50000) {
      int fiftythousand = myMoney / 50000;
      System.out.println("5만원권 : " + fiftythousand + "장");
      myMoney = myMoney % 50000;
    }
    if (myMoney >= 10000) {
      int tenthousand = myMoney / 10000;
      System.out.println("1만원권 : " + tenthousand + "장");
      myMoney = myMoney % 10000;
    }
    if (myMoney >= 5000) {
      int fivethousand = myMoney / 5000;
      System.out.println("5천원권 : " + fivethousand + "장");
      myMoney = myMoney % 5000;
    } 
    if (myMoney >= 1000) {
      int thousand = myMoney / 1000;
      System.out.println("1천원권 : " + thousand + "장");
      myMoney = myMoney % 1000;
    }
    if (myMoney >= 500) {
      int fivehundred = myMoney / 500;
      System.out.println("500원 : " + fivehundred + "개");
      myMoney = myMoney % 500;
    }  
    if (myMoney >= 100) {
      int hundred = myMoney / 100;
      System.out.println("100원 : " + hundred + "개");
      myMoney = myMoney % 100;
    }
    if (myMoney >= 50) {
      int fifties = myMoney / 50;
      System.out.println("50원 : " + fifties + "개");
      myMoney = myMoney % 50;
    }
    if (myMoney >= 10) {
      int tens = myMoney / 10;
      System.out.println("10원 : " + tens + "개");
      myMoney = myMoney % 10;
    }
  }
}

해설

//5만원권이 몇 장 나오는지를 출력
if (myMoney >= 50000) { 
      int fiftythousand = myMoney / 50000; //입력한 금액을 50000으로 나눈 몫 == 5만원권 매수(int형 fiftythousand)
      System.out.println("5만원권 : " + fiftythousand + "장");
      myMoney = myMoney % 50000; 
// myMoney에 myMoney를 50000으로 나누고 남은 나머지를 대입. 
// 쉽게 말하면 5만원이 넘어가서 5만원 짜리가 나오는 금액을 날리고 남은 나머지
// 137980을 50000으로 나눈 나머지, 37980은 5만원권으로 나올 수 없음.
    }
// 위에서 myMoney에 나머지 금액이 남았으므로 10000원권 매수를 확인하기 위해 10000으로 나눔.
    if (myMoney >= 10000) {
      int tenthousand = myMoney / 10000;
      System.out.println("1만원권 : " + tenthousand + "장");
      myMoney = myMoney % 10000;
    }

2. 홀짝 맞히기

Test Case

(10) // PC가 임의로 뱉어낸 무작위 정수
홀? 짝?(홀=1, 짝=2): 2
정답

(7)
홀? 짝?(홀=1, 짝=2): 2
땡

해당 문제는 내 풀이와 수업에서의 풀이가 너무 상이했기에 둘 다 기재함

import java.util.Random;
import java.util.Scanner;

public class Test_OE {
  public static void main(String[] args) {
    
    Scanner input = new Scanner(System.in);
    Random random = new Random();

    int comNum = random.nextInt(10) + 1;
    System.out.println(comNum); // QA용. 만약 빌드를 배포한다면 해당 부분은 삭제 or 주석 처리

    System.out.print("홀? 짝?(홀=1, 짝=2): ");
    int myNum = input.nextInt();

    boolean isOddNum = (comNum % 2 == 1);
      if (myNum == 1) {
		if (isOddNum == true) {
			System.out.println("correct. odd number");
		} else {
			System.out.println("wrong. even number");
			}
		} else if (isOddNum == false){
			System.out.println("correct. even number");
		} else {
			System.out.println("wrong. odd number");
		}
      }
 }

수업에서의 답안. 훨씬 간결하다.

if (comNum % 2 == 0 && myNum % 2 == 0) {
  System.out.println("정답");
	} else if (comNum % 2 == 1 && myNum % 2 == 1) {
  System.out.println("정답");
	} else {
  System.out.println("땡");
        }

3. BMI 계산 프로그램

해당 프로그램은 페이지가 지나치게 길어져 Code 탭에 별도로 작성함.

※ 프로젝트 배포하기(jar 파일 및 batch 파일 생성)

  1. import 하기 (프로젝트 가져오기) file > import > general > existing Projects into workspace

  2. 소량의 파일만 가져가거나 단순히 볼때 workspace > project > src > .java파일(메모장열림) 또는 이클립스 프로젝트에 복사

  3. jar파일 배포하기 file > export > java > runnable jar file > 배포 프로젝트 선택

  4. bat 파일 만들기 (jar파일 실행)

메모장을 열고 아래의 명령어를 작성한 후 '다른이름으로 저장' 에서 파일형식을 '모든파일'로 선택 후 파일명.bat로 저장

- 경로가 같이 있는 경우
	java -jar 파일명.jar

- 경로가 다른경우 jar파일의 경로를 기입
	java -jar (.jar경로)\파일명.jar

Clone this wiki locally