대학교 수업/Java 프로그래밍

[JAVA] 명품 자바 프로그래밍 2장 실습문제

Jongung 2022. 4. 14. 21:44

1번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("원화를 입력하세요(단위 원) >>");
        Scanner in = new Scanner(System.in);
        double money = in.nextInt();
        System.out.println("3300원은 $" + money / 1100 + "입니다.");
    }
}

1번

 

2번

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

2번

 

3번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("금액을 입력하시오>>");
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        System.out.println("오만원권" + num/50000 +"매");
        num%=50000;
        System.out.println("만원권" + num/10000 +"매");
        num%=10000;
        System.out.println("천원권" + num/1000 +"매");
        num%=1000;
        System.out.println("100원" + num/100 +"개");
        num%=100;
        System.out.println("50원" + num/50 +"개");
        num%=50;
        System.out.println("10원" + num/10 +"개");
        num%=10;
        System.out.println("1원" + num/1 +"개");
        in.close();
    }
}

3번

 

4번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("정수 3개 입력>>");
        Scanner in = new Scanner(System.in);
        int num1 = in.nextInt();
        int num2 = in.nextInt();
        int num3 = in.nextInt();
        if(num1 < num2){
            if(num2 < num3){
                System.out.print("중간 값은"+num2+"입니다.");
            }
            else{
                System.out.print("중간 값은"+num3+"입니다.");
            }
        }
        else{
            if(num1 < num3){
                System.out.print("중간 값은"+num1+"입니다.");
            }
            else{
                System.out.print("중간 값은"+num3+"입니다.");
            }
        }
        in.close();
    }
}

4번

 

5번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("정수 3개 입력>>");
        Scanner in = new Scanner(System.in);
        int num1 = in.nextInt();
        int num2 = in.nextInt();
        int num3 = in.nextInt();
        if(num1 >= num2 && num1 >= num3){
            if(num2 + num3 > num1){
                System.out.print("삼각형이 됩니다.");
            }
            else{
                System.out.print("삼각형이 안됩니다.");
            }
        }
        else if(num2 >= num1 && num2 >= num3){
            if(num1 + num3 > num2){
                System.out.print("삼각형이 됩니다.");
            }
            else{
                System.out.print("삼각형이 안됩니다.");
            }
        }
        else if(num3 >= num2 && num3 >= num1){
            if(num2 + num1 > num3){
                System.out.print("삼각형이 됩니다.");
            }
            else{
                System.out.print("삼각형이 안됩니다.");
            }
        }
        in.close();
    }
}

5번

 

6번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("1~99 사이의 정수를 입력하시오>>");
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        int first = num / 10;
        int second = num % 10;
        if((first == 3 || first == 6 || first == 9) && (second == 3 || second == 6 || second == 9)){
            System.out.print("박수짝짝");
        }
        else if((first == 3 || first == 6 || first == 9) || (second == 3 || second == 6 || second == 9)){
            System.out.print("박수짝");
        }

        in.close();
    }
}

6번

 

7번

import java.util.Scanner;
public class main{
    public static void main(String[] args){
        System.out.print("점 (x,y)의 좌표를 입력하시오");
        Scanner in = new Scanner(System.in);
        int x = in.nextInt();
        int y = in.nextInt();
        if((100 <= x && x <= 200)&&(100<=y && y<=200)){
            System.out.print("사각형 안에 점이 있습니다.");
        }
        else{
            System.out.print("사각형 안에 없습니다.");
        }

        in.close();
    }
}

7번

 

8번

import java.util.Scanner;
public class main{
    public static boolean inRect(int x, int y, int rectx1, int rectx2, int recty1, int recty2){
        if ((x>=rectx1 && x<=rectx2) && (y>=recty1 && y<=recty2)) {
            return true;
        }
        else {
            return false;
        }
    }

    public static void main(String[] args){
        System.out.print("두점 x1, y1과 x2, y2의 좌표를 입력하시오 >>");
        Scanner in = new Scanner(System.in);
        int x1 = in.nextInt();
        int x2 = in.nextInt();
        int y1 = in.nextInt();
        int y2 = in.nextInt();

        if (inRect(x1,y1,100,100,200,200) || inRect(x2,y2,100,100,200,200) ||
                inRect(x1,y2,100,100,200,200) || inRect(x2,y1,100,100,200,200))
            System.out.println("사각형이 겹칩니다.");
        else if ((inRect(x1,y1,100,100,200,200)) && inRect(x2,y2,100,100,200,200)
                && inRect(x2,y1,100,100,200,200) && inRect(x1,y2,100,100,200,200))
            System.out.println("사각형이 겹칩니다.");
        else if ((inRect(100,100,x1,y1,x2,y2)) && inRect(100,200,x1,y1,x2,y2) && inRect(200,100,x1,y1,x2,y2) &&
                inRect(200,200,x1,y1,x2,y2))
            System.out.println("사각형이 겹칩니다.");
        else System.out.println("사각형이 겹치지 않습니다.");

        in.close();
    }
}

8번

 

9번

import java.util.Scanner;
public class main{

    public static void main(String[] args){
        System.out.print("원의 중심과 반지름 입력 >> ");
        Scanner in = new Scanner(System.in);
        double x = in.nextDouble();
        double y = in.nextDouble();
        double r = in.nextDouble();
        System.out.print("점 입력 >>");
        double p1 = in.nextDouble();
        double p2 = in.nextDouble();

        double distance = Math.sqrt((p1 - x) *(p1 - x) + (p2 - y) * (p2 - y));
        if(distance < r){
            System.out.print("점 (" +p1+ "," + p2 + ")은 원 안에 있다");
        }
        else{
            System.out.print("점 (" +p1+ "," + p2 + ")은 원 안에 없다");
        }
        in.close();
    }
}

9번

 

10번

import java.util.Scanner;
public class main{

    public static void main(String[] args){
        System.out.print("첫번째 원의 중심과 반지름 입력 >> ");
        Scanner in = new Scanner(System.in);
        int x1 = in.nextInt();
        int y1 = in.nextInt();
        double r1 = in.nextDouble();

        System.out.print("두번째 원의 중심과 반지름 입력 >> ");
        int x2 = in.nextInt();
        int y2 = in.nextInt();
        double r2 = in.nextDouble();
        double distance = Math.sqrt((x1 - y1)*(x1 - y1) + (x2 - y2)*(x2 - y2));
        if(distance <= r1 + r2){
            System.out.print("두 원은 서로 겹친다.");
        }
        else{
            System.out.print("두 원은 서로 겹치지 않는다.");
        }
        in.close();
    }
}


10번

 

11-1번

import java.util.Scanner;
public class main{

    public static void main(String[] args){
        System.out.print("달을 입력하세요(1~12)>> ");
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();

        if(m == 3 || m == 4 || m == 5){
            System.out.print("봄");
        }
        else if(m == 6 || m == 7 || m == 8){
            System.out.print("여름");
        }
        else if(m == 9 || m == 10 || m == 11){
            System.out.print("가을");
        }
        else{
            System.out.print("겨울");
        }

        in.close();
    }
}


11-1

 

11-2번

import java.util.Scanner;
public class main{

    public static void main(String[] args){
        System.out.print("달을 입력하세요(1~12)>> ");
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();

        switch (m){
            case 3: case 4: case 5:
                System.out.print("봄");
                break;
            case 6: case 7: case 8:
                System.out.print("여름");
                break;
            case 9: case 10: case 11:
                System.out.print("가을");
                break;
            case 12: case 1: case 2:
                System.out.print("겨울");
                break;
            default:
                break;
        }

        in.close();
    }
}


11-2

 

 

12번

import java.util.Scanner;
public class main{

    public static void main(String[] args){
        System.out.print("연산>>");
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        String s = in.next();
        int b = in.nextInt();
        int ans = 0;
        if(s.equals("+")){
            ans = a + b;
        }
        else if(s.equals("-")){
            ans = a - b;
        }
        else if(s.equals("*")){
            ans = a * b;
        }
        else if (s.equals("/")){
            if(b == 0){
                System.out.print("0으로 나눌 수 없습니다.");
                in.close();
                return;
            }
            else{
                ans = a / b;
            }
        }
        else{
            System.out.print("잘못된 입력입니다.");
            in.close();
            return;
        }
        System.out.print(a+s+b+"의 계산 결과는 " + ans);

        in.close();
    }
}


12번