14-1a. Write a class definition that extends Thread for a racehorse. It will hav
ID: 3832624 • Letter: 1
Question
14-1a. Write a class definition that extends Thread for a racehorse. It will have a string data field for the name of the racehorse, a constructor to set the name, and the run() method. The racetrack will be from spot 1 to 100, the run() will use a loop to print their spot number (the loop variable that increments) and name 100 times before printing they are done at the end of the loop. If there are multiple threads, the 100 time for loops will be running for each racehorse at the same time.
Here is the code:
package threads14;
/*
* This class will define a racehorse
*/
public class racehorse141 extends Thread
{
private String name;
public racehorse141(String n)
{
name = n;
}
public void run() // override run() method from Thread, called by start()
{
int i;
for (i = 1; i <= 100; i++)
System.out.print(i + name + " ");
System.out.println(name + " done");
}
}
1b. Write the main class that will declare 4 racehorses and set their priority based upon random numbers (from 1 - 10, then setPriority() for each racehorse object). Then start() all 4 racehorses and see which racehorse can get to 100 times through their for loops first and win the race. If there seems to not be enough switching back and forth between racehorse threads, you can change to loop more than 100 times.
Explanation / Answer
import java.util.Random;
public class ThreadTest {
public static void main(String[] args) {
Random random = new Random();
racehorse141 r1 = new racehorse141("Thread_1");
r1.setPriority(random.nextInt(10)+1); //1-10
racehorse141 r2 = new racehorse141("Thread_1");
r2.setPriority(random.nextInt(10)+1); //1-10
racehorse141 r3 = new racehorse141("Thread_1");
r3.setPriority(random.nextInt(10)+1); //1-10
racehorse141 r4 = new racehorse141("Thread_1");
r4.setPriority(random.nextInt(10)+1); //1-10
r1.start();
r2.start();
r3.start();
r4.start();
}
}
/*
Sample run: 1Thread_1 2Thread_1 3Thread_1 4Thread_1 5Thread_1 6Thread_1 7Thread_1 8Thread_1 9Thread_1 10Thread_1 11Thread_1 12Thread_1 1Thread_1 1Thread_1 1Thread_1 2Thread_1 2Thread_1 13Thread_1 14Thread_1 15Thread_1 16Thread_1 17Thread_1 18Thread_1 3Thread_1 4Thread_1 5Thread_1 6Thread_1 7Thread_1 8Thread_1 9Thread_1 10Thread_1 3Thread_1 4Thread_1 5Thread_1 6Thread_1 2Thread_1 3Thread_1 4Thread_1 5Thread_1 6Thread_1 7Thread_1 8Thread_1 9Thread_1 10Thread_1 11Thread_1 12Thread_1 7Thread_1 11Thread_1 19Thread_1 12Thread_1 8Thread_1 13Thread_1 14Thread_1 9Thread_1 10Thread_1 11Thread_1 13Thread_1 14Thread_1 15Thread_1 16Thread_1 17Thread_1 18Thread_1 19Thread_1 20Thread_1 21Thread_1 22Thread_1 23Thread_1 24Thread_1 25Thread_1 26Thread_1 27Thread_1 28Thread_1 29Thread_1 30Thread_1 31Thread_1 32Thread_1 33Thread_1 34Thread_1 35Thread_1 36Thread_1 37Thread_1 38Thread_1 39Thread_1 40Thread_1 41Thread_1 42Thread_1 43Thread_1 44Thread_1 45Thread_1 46Thread_1 47Thread_1 48Thread_1 49Thread_1 50Thread_1 51Thread_1 52Thread_1 53Thread_1 54Thread_1 55Thread_1 56Thread_1 57Thread_1 58Thread_1 59Thread_1 60Thread_1 61Thread_1 62Thread_1 63Thread_1 20Thread_1 21Thread_1 64Thread_1 65Thread_1 66Thread_1 67Thread_1 68Thread_1 69Thread_1 70Thread_1 71Thread_1 72Thread_1 73Thread_1 74Thread_1 75Thread_1 76Thread_1 77Thread_1 78Thread_1 79Thread_1 80Thread_1 81Thread_1 82Thread_1 83Thread_1 84Thread_1 85Thread_1 86Thread_1 87Thread_1 88Thread_1 89Thread_1 90Thread_1 91Thread_1 92Thread_1 93Thread_1 94Thread_1 95Thread_1 96Thread_1 97Thread_1 98Thread_1 99Thread_1 100Thread_1 Thread_1 done
12Thread_1 13Thread_1 14Thread_1 15Thread_1 16Thread_1 17Thread_1 18Thread_1 19Thread_1 20Thread_1 21Thread_1 22Thread_1 23Thread_1 24Thread_1 25Thread_1 26Thread_1 27Thread_1 28Thread_1 29Thread_1 30Thread_1 31Thread_1 32Thread_1 33Thread_1 34Thread_1 35Thread_1 36Thread_1 15Thread_1 22Thread_1 23Thread_1 24Thread_1 25Thread_1 26Thread_1 27Thread_1 16Thread_1 17Thread_1 18Thread_1 19Thread_1 20Thread_1 21Thread_1 22Thread_1 23Thread_1 24Thread_1 25Thread_1 26Thread_1 27Thread_1 28Thread_1 29Thread_1 30Thread_1 31Thread_1 32Thread_1 33Thread_1 34Thread_1 35Thread_1 36Thread_1 37Thread_1 38Thread_1 39Thread_1 40Thread_1 41Thread_1 42Thread_1 43Thread_1 44Thread_1 45Thread_1 46Thread_1 47Thread_1 48Thread_1 49Thread_1 50Thread_1 51Thread_1 52Thread_1 53Thread_1 54Thread_1 55Thread_1 56Thread_1 57Thread_1 58Thread_1 59Thread_1 60Thread_1 61Thread_1 62Thread_1 63Thread_1 64Thread_1 65Thread_1 66Thread_1 67Thread_1 68Thread_1 69Thread_1 70Thread_1 71Thread_1 72Thread_1 73Thread_1 74Thread_1 75Thread_1 76Thread_1 77Thread_1 78Thread_1 79Thread_1 80Thread_1 81Thread_1 82Thread_1 83Thread_1 84Thread_1 85Thread_1 86Thread_1 87Thread_1 88Thread_1 89Thread_1 90Thread_1 91Thread_1 92Thread_1 93Thread_1 94Thread_1 95Thread_1 96Thread_1 97Thread_1 98Thread_1 99Thread_1 100Thread_1 Thread_1 done
37Thread_1 38Thread_1 39Thread_1 40Thread_1 41Thread_1 42Thread_1 43Thread_1 44Thread_1 45Thread_1 46Thread_1 47Thread_1 48Thread_1 49Thread_1 50Thread_1 51Thread_1 52Thread_1 53Thread_1 54Thread_1 55Thread_1 56Thread_1 57Thread_1 58Thread_1 59Thread_1 60Thread_1 61Thread_1 62Thread_1 63Thread_1 64Thread_1 65Thread_1 66Thread_1 67Thread_1 68Thread_1 69Thread_1 70Thread_1 71Thread_1 72Thread_1 73Thread_1 74Thread_1 75Thread_1 76Thread_1 77Thread_1 78Thread_1 79Thread_1 80Thread_1 81Thread_1 82Thread_1 83Thread_1 84Thread_1 85Thread_1 86Thread_1 87Thread_1 88Thread_1 89Thread_1 90Thread_1 91Thread_1 92Thread_1 93Thread_1 94Thread_1 95Thread_1 96Thread_1 97Thread_1 98Thread_1 99Thread_1 100Thread_1 Thread_1 done
28Thread_1 29Thread_1 30Thread_1 31Thread_1 32Thread_1 33Thread_1 34Thread_1 35Thread_1 36Thread_1 37Thread_1 38Thread_1 39Thread_1 40Thread_1 41Thread_1 42Thread_1 43Thread_1 44Thread_1 45Thread_1 46Thread_1 47Thread_1 48Thread_1 49Thread_1 50Thread_1 51Thread_1 52Thread_1 53Thread_1 54Thread_1 55Thread_1 56Thread_1 57Thread_1 58Thread_1 59Thread_1 60Thread_1 61Thread_1 62Thread_1 63Thread_1 64Thread_1 65Thread_1 66Thread_1 67Thread_1 68Thread_1 69Thread_1 70Thread_1 71Thread_1 72Thread_1 73Thread_1 74Thread_1 75Thread_1 76Thread_1 77Thread_1 78Thread_1 79Thread_1 80Thread_1 81Thread_1 82Thread_1 83Thread_1 84Thread_1 85Thread_1 86Thread_1 87Thread_1 88Thread_1 89Thread_1 90Thread_1 91Thread_1 92Thread_1 93Thread_1 94Thread_1 95Thread_1 96Thread_1 97Thread_1 98Thread_1 99Thread_1 100Thread_1 Thread_1 done
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.