본문 바로가기
공부/과제.

JAVA 문제풀이 18

by 햄이; 2021. 7. 2.

 

Q1 . 객체지향 응용 문제(유사 수건돌리기 문제)

package Day14;

import java.util.Random;

/*
 * Q.35
 * 원숭이 불 수건 돌리기 게임
 * 원숭이 5마리가 있습니다. 원숭이는 각각 빨강,노랑,파랑,초록,검정 입니다.
 * 랜덤으로 숫자 두개를 받습니다 하나는 0/1(0좌 / 1우) 나머지 하나는 1~5까지 랜덤 수를 받습니다
 * 원숭이들은 원형으로 앉아있습니다.
 * 그리고 불은 객체화를 해서 게임을 진행해주세요.
 * 메인문에서 출력을 해줍니다.
 * 원숭이는 불이 자기한테 오면 "XXX원숭이가 불을 가지고 있습니다"가 출력이 되어야합니다.
 * */
 
class Monkey
{
	Fire f;
	String color;

	public void setColor(String color) {
		this.color = color;
	}

	public void showMonkey()
	{
		if(f != null)
		{
			System.out.println(color+"원숭이가 불을 가지고 있습니다.");
		}
	}

}
class Fire
{

}
public class Monkeygame {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Random r = new Random();
		int num1 = r.nextInt(2);
		int num2 = r.nextInt(5)+1;
		System.out.println("첫 번째 수 :"+num1 +" 두 번째 수 :"+num2);

		Fire fire = new Fire();
		String[] color = {"빨간색","노란색","파란색","초록색","검정색"};
		Monkey[] monkey = new Monkey[5];

		for(int i = 0; i < monkey.length; i++) {
			monkey[i] = new Monkey();
			monkey[i].setColor(color[i]);//monkey[i].color = color[i];와 동일
		}


		//우 : 노-파-초-검-빨
		if(num1 == 1) {

			for(int i=1; i<=num2; i++) {
				if(i<5) {
					monkey[i].f = fire;
					monkey[i].showMonkey();
					monkey[i].f = null;
				}else { // i == 5일 때
					monkey[0].f = fire;
					monkey[0].showMonkey();
					monkey[0].f = null;
				}
			}
			//좌 : 검-초-파-노-빨	
		}else {
			
			for(int i = 4; i>=monkey.length-num2; i--) {
				
				if(i == 0) {
					monkey[0].f = fire;
					monkey[0].showMonkey();
					monkey[0].f = null;
				}else {
					monkey[i].f = fire;
					monkey[i].showMonkey();
					monkey[i].f = null;
				}
				
			}

		}
	}

}

 

 

결과

 

Q2 . 객체지향 응용 문제 2

 

package Day14;
/*
 * Q.34
 * 개 3마리와 고양이 2마리 햄스터 1마리가 있습니다.
 * 개는 코카스파니엘(9~16kg,검정), 포메라니안(1.3~3.2kg,하얀색), 미니핀(4~5kg,갈색) 
 * = "개 종류는 XXX이고 무게는 XXX이며, 색깔은 XXX이고 짖습니다" 출력
 * 고양이는 먼치킨(3~5kg, 검정), 스핑크스(4~5kg, 하얀색)
 * = "고양이 종류는 XXX이고, 무게는 XXX이며 색은 XXX이고 할큅니다" 출력
 * 햄스터는 정글리안(40~60g,회색)
 * = "햄스터의 종류는 XXX이고, 무게는 XXX이며 색은 XXX이고 찍찍웁니다" 출력
 * 단, 클래스 배열로 만들어서 해주세요
 * */

class Dog{
	String Animal;
	String name;
	String weight;
	String color;
	String function;

	public void setAnimal(String string, String string2, String string3) {
		// TODO Auto-generated method stub
		this.name = string;
		this.weight = string2;
		this.color = string3;
	}

	public void setFunction(String function) {
		this.function = function;
	}

	public void showDog() {
		System.out.println("개의 종류는"+name+"이고, 무게는 "+weight+"이며, 색은 "+color+"이고 "+function);
	}

}
class Cat{
	String name;
	String weight;
	String color;
	String function;

	public void setAnimal(String string, String string2, String string3) {
		// TODO Auto-generated method stub
		this.name = string;
		this.weight = string2;
		this.color = string3;
	}

	public void setFunction(String function) {
		this.function = function;
	}

	public void showCat() {
		System.out.println("고양이의 종류는"+name+"이고, 무게는 "+weight+"이며, 색은 "+color+"이고 "+function);
	}

}
class Hamster{
	String Animal;
	String name;
	String weight;
	String color;
	String function;


	public void setAnimal(String name,String weight, String color,String function) {
		this.name = name;
		this.weight = weight;
		this.color = color;
		this.function = function;
	}


	public void showHamster() {
		System.out.println("햄스터의 종류는"+name+"이고, 무게는 "+weight+"이며, 색은 "+color+"이고 "+function);
	}
}

public class Question1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Dog[] dog = new Dog[3];
		Cat[] cat = new Cat[2];
		Hamster hamster = new Hamster();

		for(int i = 0; i<dog.length; i++) {
			dog[i] = new Dog();
			dog[i].setFunction("짖는다");
		}

		dog[0].setAnimal("코카스파니엘","9~16kg","검정색");
		dog[1].setAnimal("포메라니안","1.3~3.2kg","하얀색");
		dog[2].setAnimal("미니핀","4~5kg","갈색");


		for(int i =0; i<cat.length; i++) {
			cat[i] = new Cat();
			cat[i].setFunction("할퀸다.");
		}

		cat[0].setAnimal("먼치킨", "3~5kg", "검정색");
		cat[1].setAnimal("스핑크스", "4~5kg", "하얀색");

		hamster.setAnimal("정글리안", "40~60g", "회색", "찍찍운다");


		for(int i =0; i<dog.length; i++) {
			dog[i].showDog();
		}
		System.out.println();
		for(int i = 0; i<cat.length; i++) {
			cat[i].showCat();
		}
		System.out.println();

		hamster.showHamster();



	}
}

 

 

결과

'공부 > 과제.' 카테고리의 다른 글

JAVA 문제풀이 17  (0) 2021.07.02
JAVA 문제풀이 16  (0) 2021.05.07
JAVA 문제풀이 15  (0) 2021.05.07
JAVA 문제풀이 14  (0) 2021.05.07
JAVA 문제풀이 13 배열 낚시 게임  (0) 2021.04.28

댓글