Sziasztok,
egy kis segítséget szeretnék kérni, mert valami nem okés:
feladatleírás:
Készíts egy Szalak nevű Java osztályt, amely parancssori argumentumában egy egész számot vár. Jelöljük most ezt a számot n-el!
A program hozzon létre és indítson el n db szálat 1,2..n sorszámokkal, a következő működéssel.
Minden szál (n-sorszam+1)-szer ismétli a következő két lépést:
várakozik a sorszámának megfelelő másodpercet
kiírja a szál nevét
A várható kimenet a következő (1-2 egymás utáni sor esetleg felcserélődhet):
Thread-0
Thread-1
Thread-0
Thread-2
Thread-0
Thread-3
Thread-1
Thread-0
Thread-4
Thread-0
Thread-2
Thread-1
Thread-3
Thread-1
Thread-2
A kód amit készítettem:
package beadando;
import java.io.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Szalak {
public static void main(String[] args) throws Exception {
int n = Integer.parseInt(args[0]);
for (int i=1; i<=n; i++) {
new Beadando(i,n).start();
}
}
}
class Beadando extends Thread {
private int i;
private int n;
public Beadando(int i, int n) {
this.i = i;
this.n = n;
}
public void run() {
int x = i;
int dig = n-i+1;
for(i=0; i<dig;i++){
// System.out.println(i);
try {
Thread.sleep(i*1000);
} catch (InterruptedException ex) {
Logger.getLogger(Beadando.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(this.getName());
}
}}
szerintetek mi lehet a hiba?
köszönöm