• 명품 자바 프로그래밍(개정4판) 제 2장 실습문제

    2020. 10. 8.

    by. Hyeon-Uk

    반응형

    [1번]

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

    원화를 입력받고 환전한 값(money/1100.0) 을 출력, 출력이 double형이므로 피연산자중 하나를 double형으로 하면 형변환으로 인해 출력이 double로 된다.

     


    [2번]

    import java.util.Scanner;
    
    public class p0202 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("2자리수 정수 입력(10~99)>>");
    		int num=sc.nextInt();
    		if(num<10||num>99) {
    			System.out.println("범위를 벗어났습니다.");
    		}
    		else if(num%10==num/10) {
    			System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
    		}
    		else {
    			System.out.println("No! 10의 자리와 1의 자리가 같지 않습니다.");
    		}
            sc.close();
    	}
    
    }
    

    [3번]

    import java.util.Scanner;
    
    public class p0203 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("금액을 입력하시오>>");
    		int money=sc.nextInt();
    		System.out.println("오만원권 "+money/50000+"매");
    		money%=50000;
    		System.out.println("만원권 "+money/10000+"매");
    		money%=10000;
    		System.out.println("천원권 "+money/1000+"매");
    		money%=1000;
            /* 문제에선 언급되었지만 출력에는 없어서 고려x
            System.out.println("오백원 "+money/500+"개");
            money%=500;
            */
    		System.out.println("백원 "+money/100+"개");
    		money%=100;
    		System.out.println("오십원 "+money/50+"개");
    		money%=50;
    		System.out.println("십원 "+money/10+"개");
    		money%=10;
    		System.out.println("일원 "+money+"개");
    		
    		sc.close();
    	}
    }
    

    [4번]

    import java.util.Scanner;
    
    public class p0204 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("정수 3개를 입력하시오>>");
    		int a=sc.nextInt();
    		int b=sc.nextInt();
    		int c=sc.nextInt();
    		int result;
    		if(b<a&&a<c||c<a&&a<b) {
    			result=a;
    		}
    		else if(a<b&&b<c||c<b&b<a) {
    			result=b;
    		}
    		else {
    			result=c;
    		}
    		System.out.println("중간 값은 "+result);
    		sc.close();
    	}
    }
    ​

    [5번]

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

     

     

    반응형

    [6번]

    import java.util.Scanner;
    
    public class p0206 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("1~99 사이의 정수를 입력하시오>>");
    		int num=sc.nextInt();
    		int cnt=0;
    		if(num%10==3||num%10==6||num%10==9) {
    			cnt++;
    		}
    		num/=10;
    		if(num>=1&&num<=99) {
    			if(num%10==3||num%10==6||num%10==9) {
    				cnt++;
    			}
    			if(cnt==1) {
    				System.out.println("박수짝");
    			}
    			else if(cnt==2) {
    				System.out.println("박수짝짝");
    			}
    			else {
    				System.out.println("");
    			}
    		}
    		else {
    			System.out.println("범위를 벗어났습니다.");
    		}
    		sc.close();
    	}
    }
    

    [7번]

     

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

    [8번]

    import java.util.Scanner;
    
    public class p0208 {	
    	
    	
    	public static boolean inRect(int x, int y, int rectx1, int recty1, int rectx2, int recty2) { 
    		if((x>=rectx1 && x<=rectx2) && (y>=recty1 && y<=recty2)) return true; 
    		else return false; 
    	}
    
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("두 점 (x1,y1), (x2,y2)의 좌표를 입력하시오>>");
    		int x1=sc.nextInt();
    		int y1=sc.nextInt();
    		int x2=sc.nextInt();
    		int y2=sc.nextInt();
    		
    		boolean result;//사각형이 충돌하는지
    		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)) {
    			result=true;
    		}
    		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)) {
    			result=true;
    		}
    		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)) {
    			result=true;
    		}
    		else {
    			result=false;
    		}
    		
    		//겹치면
    		if(result) {
    			 System.out.println("사각형이 겹칩니다.");
    		}
    		//안겹치면
    		else {
    			System.out.println("사각형이 겹치지 않습니다.");
    		}
    		sc.close();
    	}
    }​

     


    [9번]

    import java.util.Scanner;
    
    public class p0209 {	
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("원의 중심과 반지름 입력>>");
    		double rx=sc.nextDouble();
    		double ry=sc.nextDouble();
    		double r=sc.nextDouble();
    		System.out.print("점 입력>>");
    		double x=sc.nextDouble();
    		double y=sc.nextDouble();
    		
    		double d=(rx-x)*(rx-x)+(ry-y)*(ry-y);
    		if(r*r>=d) {
    			System.out.println("점 ("+x+","+y+")는 원 안에 있다.");
    		}
    		else {
    			System.out.println("점 ("+x+","+y+")는 원 안에 없다.");
    		}
    		sc.close();
    	}
    }
    

    [10번]

    import java.util.Scanner;
    
    public class p0210 {	
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("첫번째 원의 중심과 반지름 입력>>");
    		int x1=sc.nextInt();
    		int y1=sc.nextInt();
    		int r1=sc.nextInt();
    		System.out.print("두번째 원의 중심과 반지름 입력>>");
    		int x2=sc.nextInt();
    		int y2=sc.nextInt();
    		int r2=sc.nextInt();
    		
    		int d=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
    		
    		if(Math.sqrt(d)<=r1+r2) {
    			System.out.println("두 원은 서로 겹친다.");
    		}
    		else {
    			System.out.println("두 원은 서로 겹치지 않는다.");
    		}
    		sc.close();
    	}
    }
    

    [11-1번]

    import java.util.Scanner;
    
    public class p0211 {	
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("달을 입력하세요(1~12)>>");
    		int month=sc.nextInt();
    		if(month>=3&&month<=5) {
    			System.out.println("봄");
    		}
    		else if(month>=6&&month<=8) {
    			System.out.println("여름");
    		}
    		else if(month>=9&&month<=11) {
    			System.out.println("가을");
    		}
    		else if(month==1||month==2||month==12) {
    			System.out.println("겨울");
    		}
    		else {
    			System.out.println("잘못입력.");
    		}
    		
    		sc.close();
    	}
    }
    

    [11-2번]

    import java.util.Scanner;
    
    public class p0211{	
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("달을 입력하세요(1~12)>>");
    		int month=sc.nextInt();
    		switch(month) {
    		case 12:
    		case 1:
    		case 2:
    			System.out.println("겨울");
    			break;
    		case 3:
    		case 4:
    		case 5:
    			System.out.println("봄");
    			break;
    		case 6:
    		case 7:
    		case 8:
    			System.out.println("여름");
    			break;
    		case 9:
    		case 10:
    		case 11:
    			System.out.println("가을");
    			break;
    		default:
    			System.out.println("잘못입력");
    		}
    		
    		sc.close();
    	}
    }

    [12-1번]

    import java.util.Scanner;
    
    public class practice {	
    	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("연산>>");
    		int a=sc.nextInt();
    		String op=sc.next();
    		int b=sc.nextInt();
    		if(op.equals("+")){
    			System.out.println(a+op+b+"의 계산 결과는 "+(a+b));
    		}
    		else if(op.equals("-")) {
    			System.out.println(a+op+b+"의 계산 결과는 "+(a-b));
    		}
    		else if(op.equals("*")) {
    			System.out.println(a+op+b+"의 계산 결과는 "+(a*b));
    		}
    		else if(op.equals("/")) {
    			if(b==0) {
    				System.out.println("0으로 나눌 수 없습니다.");
    			}
    			else {
    				System.out.println(a+op+b+"의 계산 결과는 "+(a/b));
    			}
    		}
    		sc.close();
    	}
    }
    

    [12-2번]

    import java.util.Scanner;
    public class p0212 {	
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.print("연산>>");
    		int a=sc.nextInt();
    		String op=sc.next();
    		int b=sc.nextInt();
    		
    		switch(op) {
    		case "+":
    			System.out.println(a+op+b+"의 계산 결과는 "+(a+b));
    			break;
    		case "-":
    			System.out.println(a+op+b+"의 계산 결과는 "+(a-b));
    			break;
    		case "*":
    			System.out.println(a+op+b+"의 계산 결과는 "+(a*b));
    			break;
    		case "/":
    			if(b==0) {
    				System.out.println("0으로 나눌 수 없습니다.");
    			}
    			else {
    				System.out.println(a+op+b+"의 계산 결과는 "+(a/b));
    			}
    			break;
    		}
    		
    		sc.close();
    	}
    }
    

     

    반응형

    댓글