hey i am doing an assignment and it is to create a multithreaded bubble sort but i am having problems initialising and assigning jobs to the threads. i have included the classes and the errors i am getting and was wondering if someone could tell me what is going wrong. CHEERS
ERRORS
C:\Documents and Settings\rich\Desktop\OOA\Thread Assignment>javac Sort1.java
Sort1.java:37: cannot find symbol
symbol : variable t1
location: class Sort1
if (Thread.currentThread() == t1) {
^
Sort1.java:50: cannot find symbol
symbol : variable t2
location: class Sort1
else if (Thread.currentThread() == t2) {
^
Sort1.java:64: cannot find symbol
symbol : variable t3
location: class Sort1
else if (Thread.currentThread() == t3) {
^
Sort1.java:79: cannot find symbol
symbol : variable t4
location: class Sort1
else if (Thread.currentThread() == t4) {
^
4 errors
// Sort1.java
import java.util.Scanner; //import the class which allows you to scan for input
public class Sort1 implements Runnable {
public int x;
public void run()
{
int hold;
Scanner kb = new Scanner (System.in);
int num1, num2, num3, num4, num5; //data entry
//Read the numbers as they are entered
System.out.print("Enter the first number:");
System.out.flush(); // flush the buffer of all current input
num1 = kb.nextInt(); // use the scanner to get input and call it num1
System.out.print("Enter the second number:");
System.out.flush();
num2 = kb.nextInt();// use the scanner to get input and call it num2
System.out.print("Enter the third number:");
System.out.flush();
num3 = kb.nextInt();// use the scanner to get input and call it num3
System.out.print("Enter the fourth number:");
System.out.flush();
num4 = kb.nextInt();// use the scanner to get input and call it num4
System.out.print("Enter the fifth number:");
System.out.flush();
num5 = kb.nextInt();// use the scanner to get input and call it num5
if (Thread.currentThread() == t1) {
while (num1 < num2) { /* compare the two neighbors num1 and num2 */
hold = num1;
num1 = num2;
num2 = hold;
System.out.print(Thread.currentThread().getName() + " value is " + x);
}
}
else if (Thread.currentThread() == t2) {
while (num2 < num3) { /* compare the two neighbors num2 and num3 */
hold = num2;
num2 = num3;
num3 = hold;
System.out.print(Thread.currentThread().getName() + " value is " + x);
}
}
else if (Thread.currentThread() == t3) {
while (num3 < num4) { /* compare the two neighbors num3 and num4 */
hold = num3;
num3 = num4;
num4 = hold;
System.out.print(Thread.currentThread().getName() + " value is " + x);
}
}
else if (Thread.currentThread() == t4) {
while (num4 < num5) { /* compare the two neighbors num4 and num5 */
hold = num4;
num4 = num5;
num5 = hold;
System.out.print(Thread.currentThread().getName() + " value is " + x);
}
}
else {
System.out.print("The sort has finished:" + num1 + num2 + num3 + num4 + num5);
}
}
}
// TestSort1.java
public class TestSort1 {
public static void main( String []argv )
{
Sort1 s = new Sort1();
Thread t1 = new Thread(s);
Thread t2 = new Thread(s);
Thread t3 = new Thread(s);
Thread t4 = new Thread(s);
Thread t5 = new Thread(s);
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}