так что попробуйте закончить мой HW, и одна вещь в мне пока не идет хорошо.в этой программе я использую 2 класса, это сжатие бега, я просто хочу объявить место игрока, который выиграл в конкурсе.
например: у нас есть 4 потока.если второй поток достигнет 100M последним, я хочу опубликовать сообщение о том, что он занял 4-е место.
класс гонщика:
package assig1_2;
public class Racer extends Thread{
public static int globalid = 1;
private int id;
private int speed;
private Track track;
public Racer(int Speed,Track track) {
this.speed = Speed;
this.track = track;
this.id = this.globalid;
this.globalid++;
}
public void run() {
go ();
}
void go () {
this.track.setPriority(this.speed);
for(int i=1; i<=10; i++) {
System.out.println("runner " + this.id + " run " + i + " meters " );
if (i == 10) {
this.track.setPlace(id);
System.out.println("Runner " + this.id + " finished " + track.getPlaceNumber() + track.getPlaceName() );
}
}
}
}
класс трассы:
package assig1_2;
public class Track extends Thread {
private int finishedRacers;
public String place;
public void setPlace(int numOfPlace) {
if (numOfPlace == 1) {
this.finishedRacers = numOfPlace;
this.place = "st";
} else if (numOfPlace == 2) {
this.finishedRacers = numOfPlace;
this.place = "nd";
} else if (numOfPlace == 3) {
this.finishedRacers = numOfPlace;
this.place = "rd";
} else {
this.finishedRacers = numOfPlace;
this.place = "th";
}
}
public int getPlaceNumber() {
return this.finishedRacers;
}
public String getPlaceName() {
return this.place;
}
}
это глупая программа в нашем первом уроке, когда мы используем Thread.