마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍/Java와 친구들

명품 자바 (개정 4판) 연습문제 짝수 답안 : 제2장 실습

동동매니저 2020. 2. 3. 17:29

「명품 JAVA Programming」 (황기태, 김효수 공저, 생능출판) : 개정 4판

Chapter 02 연습문제(실습) 짝수 답안입니다.

(틀린 부분이 있다면 알려주세요~!)


※ 실습 문제

02.

import java.util.Scanner;

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

04.

import java.util.Scanner;

public class Median {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("정수 3개 입력 >> ");
		int x=sc.nextInt();
		int y=sc.nextInt();
		int z=sc.nextInt();
		int median;
		if(x>y) {
			if(x<z) median=x;
			else if(y>z) median=y;
			else median=z;
		}else {
			if(x>z) median=x;
			else if(y<z) median=y;
			else median=z;
		}
		System.out.println("중간 값은 "+median);
		sc.close();
	}
}

06.

import java.util.Scanner;

public class Game369 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("1~99 사이의 정수 입력 >> ");
		int n=sc.nextInt();
		int ten=n/10;
		int one=n%10;
		int clap=0;
		
		if(ten==3||ten==6||ten==9) clap++;
		if(one==3||one==6||one==9) clap++;
		
		if(clap==2) {
			System.out.println("박수짝짝");
		}else if(clap==1) {
			System.out.println("박수짝");
		}else {
			System.out.println(n);
		}
		sc.close();
	}
}

08.

import java.util.Scanner;

public class IsInRect {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int x1=sc.nextInt();
		int y1=sc.nextInt();
		int x2=sc.nextInt();
		int y2=sc.nextInt();
		boolean b1=isRect(x1,y1,100,100,200,200);
		boolean b2=isRect(x1,y2,100,100,200,200);
		boolean b3=isRect(x2,y1,100,100,200,200);
		boolean b4=isRect(x2,y2,100,100,200,200);
		if(b1||b2||b3||b4) {
			System.out.println("직사각형이 충돌합니다.");
		}else {
			System.out.println("직사각형이 충돌하지 않습니다.");
		}
		sc.close();
	}
	
	private static boolean isRect(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;
	}
}

10.

import java.util.Scanner;

public class TwoCircle {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("첫번째 원의 중심과 반지름 입력 >> ");
		int x1=sc.nextInt();
		int y1=sc.nextInt();
		int c1=sc.nextInt();
		
		System.out.print("두번째 원의 중심과 반지름 입력 >> ");
		int x2=sc.nextInt();
		int y2=sc.nextInt();
		int c2=sc.nextInt();

		int xd=x2-x1;
		int yd=y2-y1;
		if(xd*xd+yd*yd<(c1+c2)*(c1+c2)) {
			System.out.println("두 원이 서로 겹칩니다.");
		}else {
			System.out.println("두 원이 서로 겹치지 않습니다.");
		}
		sc.close();
	}
}

12.

import java.util.Scanner;

public class SimpleCalc {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("연산 >> ");
		double x = sc.nextDouble();
		String op = sc.next();
		double y = sc.nextDouble();
		switch(op) {
		case "+":
			System.out.printf("%f+%f의 계산 결과는 %f\n",x,y,x+y);
			break;
		case "-":
			System.out.printf("%f-%f의 계산 결과는 %f\n",x,y,x-y);
			break;
		case "*":
			System.out.printf("%f*%f의 계산 결과는 %f\n",x,y,x*y);
			break;
		case "/":
			if(y==0.0) {
				System.out.println("0으로 나눌 수 없습니다.");
			}else{
				System.out.printf("%f/%f의 계산 결과는 %f\n",x,y,x/y);
			}
			break;
		}
		sc.close();
	}
}