package com.javarush.task.task16.task1607;
import java.util.ArrayList;
import java.util.List;
/*
Horse Racing
*/
public class Solution {
public static int countHorses = 10; //1 Переменная, в которой указано кол-во лошадей.
public static void main(String[] args) throws InterruptedException {
List<Horse> horses = prepareHorsesAndStart(); //2тут что?
while (calculateHorsesFinished(horses) != countHorses) {
}
}
public static int calculateHorsesFinished(List<Horse> horses) throws InterruptedException {
int countFinished = 0;
//add your implementation here - добавь свою реалзацию тут
return countFinished;
}
public static List<Horse> prepareHorsesAndStart() {
List<Horse> horses = new ArrayList<Horse>(countHorses); //3 Создается список с объектами типа Horse
String number;
for (int i = 1; i < countHorses + 1; i++) { //4 через цикл,создаются объекты типа Horse
number = i < 10 ? ("0" + i) : "" + i;
horses.add(new Horse("Horse_" + number));
}
for (int i = 0; i < countHorses; i++) { //5 через цикл, у Horse вызывается метод start()
horses.get(i).start(); //6 что делает start?
}
return horses;
}
public static class Horse extends Thread {
private boolean isFinished;
public Horse(String name) {
super(name);
}
public boolean isFinished() {
return isFinished;
} //7 тут возращается состояние isFinished
public void run() { //8 а тут идет гонка, но не могу сформировать мысль как именно
String s = ""; // это объяснить
for (int i = 0; i < 1001; i++) { //delay
s += "" + i;
if (i == 1000) {
s = " has finished the race!";
System.out.println(getName() + s);
isFinished = true;
}
}
}
}
}Pavel
36 уровень
Что делает программа ?
Архивный
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #1278682
23 ноября 2017, 09:26
класс Horse наследует класс Thread - это позволяет создавать новую нить. Чтобы ее запустить, используется метод start. Метод start вызывает метод run. В методе run пишется, что должна делать новая нить. Программа имитирует забег коняшек. Метод prepareHorsesAndStart создает список с объектами Horse и стартует их.
+3