10초에 가까운 사람이 이기는 게임
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Scanner;
public class Blog {
public static void main(String[] args) {
new Byul();
}
}
//10초에 가까운 사람이 이기는 게임입니다.
//황기태 시작 키 >>
//현재 초 시간 = 42
//10초 예상 후 키 >>
//현재 초 시간 = 50
//이재문 시작 키 >>
//현재 초 시간 = 51
//10초 예상 후 키 >>
//현재 초 시간 = 4
//황기태의 결과 8, 이재문의 결과 13, 승자는 황기태
class Byul {
Scanner sc;
List<Player> players;
Calendar c;
Byul() {
sc = new Scanner(System.in);
players = new ArrayList<>();
main();
sc.close();
}
void main() {
join();
for (int i = 0; i < players.size(); i++) {
play(i);
}
result();
}
void result() {
String[][] result = new String[players.size()][2];
for (int i = 0; i < players.size(); i++) {
Player p = players.get(i);
result[i][0] = p.getName();
result[i][1] = (p.getStart() > p.getEnd())
? String.valueOf(60 - p.getStart() + p.getEnd())
: String.valueOf(p.getEnd() - p.getStart());
System.out.print(result[i][0] + "의 결과 " + result[i][1] + ",\n");
}
int max = 0;
List<String[]> maxNumbers = new ArrayList<>();
for (int i = 0; i < result.length; i++) {
if (Integer.parseInt(result[i][1]) > max) {
max = Integer.parseInt(result[i][1]);
maxNumbers.clear();
maxNumbers.add(result[i]);
} else if (Integer.parseInt(result[i][1]) == max) {
maxNumbers.add(result[i]);
}
}
for (int i = 0; i < maxNumbers.size(); i++) {
if (i == 0) System.out.print("\n승자:\n");
System.out.print(maxNumbers.get(i)[0]);
System.out.print(
(i < maxNumbers.size() - 1)
? ",\n" : "."
);
}
}
void play(int i) {
Player p = players.get(i);
System.out.print(p.getName() + " 시작 키 >>");
enter();
c = Calendar.getInstance();
p.setStart(c.get(Calendar.SECOND));
System.out.println("현재 초 시간 = " + p.getStart());
System.out.print("10초 예상 후 키 >>");
enter();
c = Calendar.getInstance();
p.setEnd(c.get(Calendar.SECOND));
System.out.println("현재 초 시간 = " + p.getEnd() + "\n");
}
void join() {
System.out.println("10초에 가까운 사람이 이기는 게임입니다.");
while (true) {
System.out.println(players.size() + 1 + "번째 선수 이름 ㄱ");
String input = sc.next();
Player p = new Player(input);
players.add(p);
if (players.size() > 1) {
System.out.println("선수 추가? ㄱ");
input = sc.next();
if (!input.equals("ㄱ")) {
break;
}
}
}
}
void enter() {
for (int i = 0; i < 2; i++)
try {System.in.read();} catch (IOException e) {e.printStackTrace();}
}
}
class Player {
private String name;
private int start, end;
Player(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
}
댓글
댓글 쓰기