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 |
댓글