Java/명품JAVA Programming 실습

[Java] 제 2장 자바 기본 프로그래밍

웹개발자(진) 2024. 2. 5. 21:45
반응형

OpenChallenge

두사람이 하는 가위바위보 게임을 만들어보자. 두 사람의 이름은 '철수'와 '영희'이다. 먼저 "철수>>"를 출력하고 "가위","바위","보"중 하나를 만자열로 입력받는다. 그리고 "영희>>"를 출력하고 마친가지로 입력받는다. 입력받은 문자열을 비교하여 누가 이겼는지 판별하여 승자를 출력한다.

 

import java.util.Scanner;

public class GBBGameApp {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 키보드 입력을 위한 Scanner 객체 생성      
        System.out.println("가위바위보 게임입니다. 가위, 바위, 보 중에서 입력하세요");
        System.out.print("철수 >> ");
        String a = scanner.next(); // 철수의 가위, 바위, 보, 문자열을  입력받는다.
        System.out.print("영희 >> ");
        String b= scanner.next(); // 영희의 가위, 바위, 보, 문자열을 입력받는다.
       
        if(a.equals("가위")) { // 철수가 가위인 경우
            if(b.equals("가위"))
                System.out.println("비겼습니다.");
            else if(b.equals("바위"))
                System.out.println("영희가 이겼습니다.");
            else
                System.out.println("철수가 이겼습니다.");              
        }
        else if(a.equals("바위")) { // 철수가 바위인 경우
            if(b.equals("가위"))
                System.out.println("철수가 이겼습니다.");
            else if(b.equals("바위"))
                System.out.println("비겼습니다.");
            else
                System.out.println("영희가 이겼습니다.");                          
        }
        else { // 철수가 보인 경우
            if(b.equals("가위"))
                System.out.println("영희가 이겼습니다.");
            else if(b.equals("바위"))
                System.out.println("철수가 이겼습니다.");
            else
                System.out.println("비겼습니다.");                                      
        }
       
        scanner.close();
    }

}

실습문제 (1~6)

1. Scanner 클레스를 이용하여 원하를 입력받아 달러로 바꾸어 다음 예시와 같이 출력하는 프로그램을 작성하라.

 

package test;
import java.util.Scanner;

public class Ex1 {

    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.print("원화를 입력하세요(단위 원)>>");
       
        double won = scanner.nextDouble();
        System.out.println((int)won + "원은 $" + won/1100 + "입니다.");
       
        scanner.close();
    }

}

 

2. Scanner 클래스를 이용하여 2자리의 정수(10~99사이)를 입력받고, 십의 자리와 일의 자리가 같은지 판별하여 출력하는 프로그램을 작성하라.

 

package test;
import java.util.Scanner;

public class Ex2 {

    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.println("2자리수 정수 입력(10~99)>>");
       
        int score = scanner.nextInt();
       
        if((score/10)==(score%10))
            System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
        else
            System.out.println("다릅니다");
       
        scanner.close();
    }

}

 

3. Scanner  클래스를 이용하여 정수로 된 돈의 액수를 입력받아 오만 원권, 만원권, 천원권, 500원자리 동전, 100원짜리 동전, 50원짜리 동전, 10원짜리 동전, 1원짜리 동전 몇 개로 변환되는지 출력하라.

 

package test;
import java.util.Scanner;

public class Ex3 {

    public static void main(String[] args) {
 
        int a, b;
        Scanner scanner = new Scanner(System.in);
        System.out.println("금액을 입력하시오>>");
       
        b = scanner.nextInt();
       
        a = b/50000;
        b = b%50000;
       
        if(a>0)
            System.out.println("오만원권 " + a + "매");
           
            a = b/10000;
            b = b%10000;
       
        if(a>0)
            System.out.println("만원권 " + a + "매");
       
            a = b/5000;
            b = b%5000;
           
        if(a>0)
            System.out.println("오천원권 " + a + "매");
       
            a = b/1000;
            b = b%1000;
           
        if(a>0)
            System.out.println("천원권 " + a + "매");

            a = b/500;
            b = b%500;
           
        if(a>0)
            System.out.println("오백원 " + a + "개");
   
            a = b/100;
            b = b%100;
           
        if(a>0)
            System.out.println("백원 " + a + "개");
       
            a = b/50;
            b = b%50;
           
        if(a>0)
            System.out.println("오십원 " + a + "개");
           
            a = b/10;
            b = b%10;
           
        if(a>0)
            System.out.println("십원 " + a + "개");
           
            a = b/1;
            b = b%1;
       
        if(a>0)
            System.out.println("일원 " + a + "개");

        scanner.close();
    }
   
}

 

4. Scanner 클래스로 정수 3개를 입력받고 3개의 숫자 중 중간 크기의 수를 출력하라. 평균값을 구하는 것이 아님에 주의

 

package test;
import java.util.Scanner;

public class Ex4 {

    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.println("정수 3개 입력>>");
       
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
       
        if(a>b)
            if(a<c)
                System.out.println("중간 값은 " + a);
            else if(b>c)
                System.out.println("중간 값은 " + b);
            else
                System.out.println("중간 값은 " + c);
       
        if(a<b)
            if(a>c)
                System.out.println("중간 값은 " + a);
            else if(b<c)
                System.out.println("중간 값은 " + b);
            else
                System.out.println("중간 값은 " + c);
        scanner.close();
    }

}

 

5. Scanner를 이용하여 삼각형의 변의 길이를 나타내는 정수를 3개 입력받고 이 3개의 수로 삼각형을 만들 수 있는지 판별하라, 삼각형이 되려면 두 변의 합이 다른 한 변의 합보다 커야한다.

 

package test;
import java.util.Scanner;

public class Ex5 {

    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.println("정수 3개를 입력하시오>>");
       
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
       
        if((a+b<c)||(a+c<b)||(b+c<a))
            System.out.println("삼각형이 안됩니다.");
        else
            System.out.println("삼각형이 됩니다.");
       
        scanner.close();
    }

}

 

6. 369게임을 간단하게 작성해보자.

 

package test;
import java.util.Scanner;

public class Ex6 {

    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.println("1~99 사이의 정수를 입력하시오>>");
       
        int score = scanner.nextInt();
       
        if(score>9)
            if((score%3==0)&&(score/10%3==0))
                System.out.println("박수짝작");
            else if(score%10%3==0)
                System.out.println("박수짝");
            else
                System.out.println("X");
       
        if(score<=9)
            if(score%3==0)
                System.out.println("박수짝");
            else
                System.out.println("X");
       
        scanner.close();
       
    }

}
반응형