본문 바로가기
JAVA

Chapter 04 실습 문제

by KWONE 2024. 8. 16.

1번

class TV{
	String company;
	int inch;
	int cost;
	TV(String company,int inch, int cost){
		this.company=company;
		this.inch=inch;
		this.cost=cost;
	}
	public void show() {
		System.out.printf("%s에서 만든 %d만원짜리의 %d인치 TV",company,inch,cost);
	}
}
public class ex4_1 {
	public static void main(String[] args) {
		TV tv=new TV("Samsung",50,300);
		tv.show();
	}
}

2번

class Cube{
	int length;
	int width;
	int height;
	
	public Cube(int a,int b, int c){
		this.length=a;
		width=b;
		height=c;
	}
	public int getVolume() {
		return length*width*height;
	}
	public void increase(int num1, int num2, int num3) {
		length+=num1;
		width+=num2;
		height+=num3;
	}
	public boolean isZero() {
		if(getVolume()==0) {
			return true;
		}
		else {
			return false;
		}
	}
}
public class ex4_2 {
	public static void main(String[] args) {
		Cube cube=new Cube(1,2,3);
		System.out.println("큐브의 부피는 "+cube.getVolume());
		cube.increase(1, 2, 3);
		System.out.println("큐브의 부피는 "+cube.getVolume());
		if(cube.isZero()) {
			System.out.println("큐브의 부피는 0");
		}
		else {
			System.out.println("큐브의 부피는 0이 아님");
		}
	}
}

3번

import java.util.Scanner;
class Grade{
	String name;
	int javaScore;
	int webScore;
	int osScore;
	public Grade(String name,int java, int web, int os) {
		this.name=name;
		this.javaScore=java;
		this.webScore=web;
		this.osScore=os;
	}
	
	public String getName() {
		return name;
	}
	public int getAverage() {
		return ((javaScore+webScore+osScore)/3);
	}
}
public class ex4_3 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.print("이름, 자바, 웹프로그래밍, 운영체제 순으로 점수 입력>>");
		String name=scanner.next();
		int java=scanner.nextInt();
		int web=scanner.nextInt();
		int os=scanner.nextInt();
		Grade st=new Grade(name,java,web,os);
		System.out.print(st.getName()+"의 평균은 "+st.getAverage());
		scanner.close();
	}
}

4번

class Average{
	int average[]=new int[10];
	int i=0;
	
	public void put(int num) {
		average[i]=num;
		i++;
	}
	public void showAll() {
		for(int j=0;j<i;j++) {
			System.out.print(average[j]+" ");
		}
	}
	public double getAvg() {
		double sum=0;
		for(int j=0;j<i;j++) {
			sum+=average[j];
		}
		return (sum)/i;
	}
}
public class ex4_4 {
	public static void main(String[] args) {
		Average avg=new Average();
		avg.put(10);
		avg.put(15);
		avg.put(100);
		avg.showAll();
		System.out.print("평균은 "+avg.getAvg());
	}
}

7번

class Memo{
	String name;
	String time;
	String content;
	public Memo(String name,String time,String content) {
		this.name=name;
		this.time=time;
		this.content=content;
	}
	public boolean isSameName(Memo b) {
		if(this.name.equals(b.name)) {
			return true;
		}
		else {
			return false;
		}
	}
	public String getName() {
		return this.name;
	}
	public void show() {
		System.out.println(name);
		System.out.println(time);
		System.out.println(content);
	}
	public int length() {
		return this.content.length();
	}
}
public class ex4_7 {
	public static void main(String[] args) {
		Memo a=new Memo("유송연","10:10","자바 과제 있음");
		Memo b=new Memo("박채원","10:15","시카고로 어학연수가요~!");
		Memo c=new Memo("김경미","11:30","돈 갚아야해요");
		
		a.show();
		if(a.isSameName(b)) {
			System.out.println("동일한 사람입니다.");
		}
		else {
			System.out.println("다른 사람입니다.");
		}
		System.out.println(c.getName()+"가 작성한 메모의 길이는 "+c.length());
	}
}

8번

class Account{
	private int money=0;
	public Account(int money){
		this.money+=money;
	}
	public void deposit(int depositMoney) {
		this.money+=depositMoney;
	}
	public void deposit(int depositMoney[]) {
		for(int i=0;i<depositMoney.length;i++) {
			this.money+=depositMoney[i];
		}
	}
	public int getBalance() {
		return money;
	}
	public int withdraw(int money) {
		
		if(this.money>=money) {
			this.money-=money;
			return money;
		}
		else {
			this.money-=this.money;
			return this.money;
		}
	}
}
public class ex4_8 {
	public static void main(String[] args) {
		Account a=new Account(100);
		a.deposit(5000);
		System.out.println("잔금은 "+ a.getBalance()+"원입니다.");
		
		int bulk[]= {100,500,200,700};
		a.deposit(bulk);
		System.out.println("잔금은 "+ a.getBalance()+"원입니다.");
		
		int money=1000;
		int wMoney=a.withdraw(money);
		if(wMoney<money) {
			System.out.println(wMoney+"원만 인출");
		}
		else {
			System.out.println(wMoney+"원 인출");
		}
		System.out.println("잔금은 "+ a.getBalance()+"원입니다.");
	}
}

9번

import java.util.Scanner;
class Player{
	String name;
	int number;
	int gamePoint=0;
}
class GuessGame{
	 Scanner scanner=new Scanner(System.in);
	 int playerNumber;
	 Player[] player;
	
	public  void start() {
		System.out.println("*** 예측 게임을 시작합니다. ***");
		System.out.print("게임에 참여할 선수 수>>");
		playerNumber=scanner.nextInt();
		player=new Player[playerNumber];
		for(int i=0;i<playerNumber;i++) {
			player[i] = new Player();	//Player 객체 생성하고 할당
			System.out.print("선수 이름>>");
			player[i].name=scanner.next();
		}
	}
	
	public  void run() {
		
		System.out.println("1~100사이의 숫자가 결정되었습니다. 선수들은 맞추어 보세요.");
		int hiddenAnswer=(int)(Math.random()*100+1);
		int diff[]=new int[playerNumber];

		for(int i=0;i<playerNumber;i++) {
			System.out.print(player[i].name + ">>");
			player[i].number=scanner.nextInt();
			diff[i]=Math.abs(hiddenAnswer-player[i].number);
		}
		int min=diff[0];
		int winner=0;
		for(int i=0;i<playerNumber;i++) {
			if(min>diff[i]) {
				min=diff[i];
				winner=i;
			}
		}
		System.out.println("정답은 "+hiddenAnswer+"."+player[winner].name+"이 이겼습니다. 승점 1점 확보!");
		player[winner].gamePoint++;
	}
	
	public void result() {
		for(int i=0;i<playerNumber;i++) {
			System.out.printf("%s:"+player[i].gamePoint+" ",player[i].name);
		}
	}
}
public class ex4_9 {
	public static void main(String[] args) {
		GuessGame game=new GuessGame();
		Scanner scanner=new Scanner(System.in);
		game.start();
		while(true) {
			game.run();
			System.out.print("계속하려면 yes 입력>>");
			String repeat=scanner.next();
			if(!repeat.equals("yes")) {
				break;
			}
		}
		game.result();
	}
}

'JAVA' 카테고리의 다른 글

Chapter 05 실습 문제  (0) 2024.08.19
상속 활용 예제  (0) 2024.08.18
클래스와 객체 활용 예제  (0) 2024.08.16
@Override  (0) 2024.08.15
상속  (0) 2024.08.14