2020/03/04 - [IT/Programming Practice] - [Java] 간단한 출력문
2020/03/04 - [IT/Programming Practice] - [Java] 계산기
2020/03/04 - [IT/Programming Practice] - [Java] 3 거스름돈 분리 계산
2020/03/04 - [IT/Programming Practice] - [Java] 4 성적 출력 하기
2020/03/04 - [IT/Programming Practice] - [Java] 짝수, 홀수, 제로 숫자 세기 프로그램
2020/03/04 - [IT/Programming Practice] - [Java] 반지름 입력후 원의 넓이 구하기
2020/03/04 - [IT/Programming Practice] - [Java] 학생 정보 입력 시스템 출력
2020/03/04 - [IT/Programming Practice] - [Java] do~while문을 활용한 출력 프로그램
▶ 조건
Class는 총 4개의 클래스가 필요하다.
Robot은 부모클래스
DanceRobot, SingRobot, DrawRobot 자식클래스
각 로봇마다의 기능을 toString()에 정의한다.
Lab4-1 class
Main() – do-while 통해서 메뉴 선택 작성
0을 누르면 프로그램 끝낸다.
그 외의 숫자를 입력하면 다시 입력한다.
void info(Robot r)이라는 메소드 정의한다.
가격과 기능을 출력한다.
★ 코드를 복사 하려면 소스코드 오른쪽 상단 "Copy"버튼을 클릭하세요.
소스코드
로봇의 부모클래스
public class Robot { //로봇의 부모 클래스
int price;
public Robot(int price){
this.price = price;
}
}
노래하는 로봇 클래스
class SingRobot extends Robot { // 자식 클래스(노래_로봇)
public SingRobot(int price) {
super(price);
}
public String toString() { // 기능 출력
return "노래를 부릅니다.";
}
}
춤추는 로봇 클래스
class DanceRobot extends Robot { // 자식 클래스(춤_로봇)
public DanceRobot(int price) {
super(price);
}
public String toString() { // 기능 출력
return "춤을 춥니다.";
}
}
그림그리는 로봇 클래스
class DrawRobot extends Robot { // 자식 클래스(그림그리는_로봇)
public DrawRobot(int price) {
super(price);
}
public String toString() { // 기능 출력
return "그림을 그립니다.";
}
}
메인클래스
import java.util.Scanner;
public class Lab4_1 {
void info(Robot r) { // 가격과 기능을 출력하는 메소드
System.out.println("가격은 " + r.price + "만원 입니다.");
System.out.println("기능은 " + r.toString());
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Lab4_1 lab = new Lab4_1(); // 랩4의 클래스 를 이어주는 구문.
DanceRobot DA; // 춤추는 로봇
DA = new DanceRobot(500); // 춤추는 로봇 가격 정의
DrawRobot DR; // 그림그리는 로봇
DR = new DrawRobot(300); // 그림 그리는 로봇 가격 정의
SingRobot SR; // 노래 부르는 로봇
SR = new SingRobot(600); // 노래 부르는 로봇 가격 정의
System.out.println("======================");
System.out.println("학번: 20160000");
System.out.println("이름: 컴돌이");
System.out.println("======================\n");
String Menu;
do {
System.out.println("\t 어떤 로봇을 구매하시겠습니까? (0은 끝내기)");
System.out.println("|1. 춤추는 로봇| |2. 노래하는 로봇| |3. 그림그리는 로봇|");
Menu = scan.next(); // 메뉴를 입력받음
if ("0".equals(Menu)) { // 0번을 입력받았을 경우 프로그램이 종료됨.
System.out.println("프로그램을 끝내겠습니다.");
System.exit(0);
}
else if ("1".equals(Menu)) { // 1번 메뉴를 선택시 춤추는 로봇의 정보를 나타냄.
lab.info(DA);
} else if ("2".equals(Menu)) { // 2번 메뉴를 선택시 노래 부르는 로봇의 정보를 나타냄.
lab.info(DR);
} else if ("3".equals(Menu)) { // 3번 메뉴를 선택시 그림그리는 로봇의 정보를 나타냄.
lab.info(SR);
} else {
System.out.println("잘못입력하셨습니다. \n다시 입력하세요.");
}
} while (true);
}
}
//Made by 컴돌이//
◈ 소스코드를 보시고 고칠 부분이나 더 좋은 로직이 있다면 코멘트 달아주세요!
이상 문제 8번 입니다.
컴돌이블로그
#자바
'IT > Programming' 카테고리의 다른 글
[Java] while문을 활용한 가위, 바위, 보 게임 (0) | 2020.03.04 |
---|---|
[Java] 이중 do-while 문 (0) | 2020.03.04 |
[Java] 학생 정보 입력 시스템 출력 (0) | 2020.03.04 |
[Java] 반지름 입력후 원의 넓이 구하기 (0) | 2020.03.04 |
[Java] 짝수, 홀수, 제로 숫자 세기 프로그램 (0) | 2020.03.04 |