JS Coding
[Java] 기초 Java 경마 게임 만들기 본문
package homework;
/*
10마리의 말들이 경주하는 경마 프로그램 작성하기...
말은 Horse라는 이름의 쓰레드 클래스로 작성하는데 이 클래스는
말이름(String), 현재위치(int), 등수(int)를 멤버변수로 갖는다.
그리고, 이 클래스에는 등수를 오름차순으로 처리 할 수 있는 내부 정렬 기준이 있다.
(Comparable 인터페이스 구현)
경기 구간은 1 ~50 구간으로 되어 있다.
경기가 끝나면 등수 순으로 출력한다.
그리고 경기 중 중간 중간에 각 말들의 현재 위치를 아래와 같이 나타내시오...
아래)
01번 말 : --------->----------------------------------------
02번 말 : ----------------->--------------------------------
....
10번 말 : ----------------->--------------------------------
*/
public class HorseGame {
public static void main(String[] args) {
DisplayHorse[] disArr = new DisplayHorse[] {
new DisplayHorse("홍길동"),
new DisplayHorse("이순신"),
new DisplayHorse("강감찬")
};
for(DisplayHorse dc : disArr) {
dc.start();
}
for(DisplayHorse dc : disArr) {
try {
dc.join();
} catch (InterruptedException e) {
// TODO: handle exception
}
}
System.out.println();
System.out.println("...경기 결과...");
System.out.println("순 위 : " + DisplayHorse.setRank);
}
}
// 말이름 출력하는 쓰레드
class DisplayHorse extends Thread {
public static String setRank="";
private String name;
public DisplayHorse(String name) {
this.name = name;
}
@Override
public void run() {
for(char c='A'; c<='Z'; c++) {
System.out.println(name + "의 출력문자 : " + c);
try {
Thread.sleep((int)(Math.random()*500));
} catch (InterruptedException e) {
// TODO: handle exception
}
}
System.out.println(name + " 출력 끝...");
//출력이 끝낸 순서대로 이름을 배치한다.
setRank +=name+ " ";
}
}
Thread 상속 받아 동시 프로싱
'Java' 카테고리의 다른 글
[Java] 초급자바 소트정렬 코드 (0) | 2024.01.05 |
---|---|
[Java] 기초자바 콘솔 출력 영화 예매 프로그램 만들기 (0) | 2024.01.04 |
[Java] 파일 다운로드 (File Download) (0) | 2024.01.02 |
[Java] List와 Set의 차이점 (0) | 2023.11.11 |
[JAVA] A.O.P (0) | 2023.10.23 |