Programma campane java

Pubblicità

Zofen

Utente Attivo
Messaggi
618
Reazioni
33
Punteggio
56
Ciao a tutti,
sto realizzando un programma con i thread in java. In particolare all'avvio del medesimo, devo visualizzare nella console "din", "don", "dan" come scritta.
Queste tre stringhe corrisponderebbero a 3 oggetti, e non vengono richiamati con un intervallo standard.
Nella prima classe ho dunque la creazione di questi 3 oggetti e la relativa stampa.
Nella seconda classe ho il costruttore con la stringa della campana passata più start(); inoltre nella seconda classe ho il metodo run contenente Thread.sleep(Math.floor(Math.random()*1000));
che stampa l'oggetto campana in diversi intervalli, ottenendo dunque combinazioni sempre diverse tra loro.

Chi mi realizza un esempio di tale traccia? :)
 
di solito dovresti buttare giu tu il codice e semmai uno te lo sistema...cmq in teoria hai 3 thread e li fai partire a random....uno scrive din uno don e uno dan...inizia a buttare giu il codice se poi serve una mano ti aiutiamo
 
di solito dovresti buttare giu tu il codice e semmai uno te lo sistema...cmq in teoria hai 3 thread e li fai partire a random....uno scrive din uno don e uno dan...inizia a buttare giu il codice se poi serve una mano ti aiutiamo

Io il codice l'ho già fatto, ma non con le caratteristiche che mi sono state richieste.
Comunque eccolo:

Classe secondaria:

Codice:
package campane;


public class Campane extends Thread
{
    private String campane; 
    private int delay;


    public Campane(String whatToSay, int delayTime) 
    {
	campane = whatToSay;
	delay = delayTime;
    }


    public void run()
    {
	try {
	    while(true) 
            {
		System.out.print(campane + " ");
		Thread.sleep(delay); 
	    }
	} catch (InterruptedException e)
        {
            e.printStackTrace();
        }
    }
    
}

Classe principale:

Codice:
package campane;


import java.io.*;
import java.util.*;


public class GestioneCampane 
{
    public static void main(String [] args)
    {
        BufferedReader tast = new BufferedReader(new InputStreamReader(System.in));
        
        char pressione;
        
        Campane campana = new Campane("DIN", 300); 
	Campane campana2 = new Campane("DON", 1000);
        Campane campana3 = new Campane("DAN", 2000);
        
	campana.start();
	campana2.start();
        campana3.start();
    
        
        }
}
 
Io il codice l'ho già fatto, ma non con le caratteristiche che mi sono state richieste.
Comunque eccolo:

Classe secondaria:

Codice:
package campane;


public class Campane extends Thread
{
    private String campane; 
    private int delay;


    public Campane(String whatToSay, int delayTime) 
    {
    campane = whatToSay;
    delay = delayTime;
    }


    public void run()
    {
    try {
        while(true) 
            {
        System.out.print(campane + " ");
        Thread.sleep(delay); 
        }
    } catch (InterruptedException e)
        {
            e.printStackTrace();
        }
    }
    
}

Classe principale:

Codice:
package campane;


import java.io.*;
import java.util.*;


public class GestioneCampane 
{
    public static void main(String [] args)
    {
        BufferedReader tast = new BufferedReader(new InputStreamReader(System.in));
        
        char pressione;
        
        Campane campana = new Campane("DIN", 300); 
    Campane campana2 = new Campane("DON", 1000);
        Campane campana3 = new Campane("DAN", 2000);
        
    campana.start();
    campana2.start();
        campana3.start();
    
        
        }
}


nella classe primaria fa 3 thread....xò cosi non li esegue in modo sequenziale ma random!! esempio din dan din din don ecc ecc...quindi vorrei capire se te li deve scrivere in sequenza
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top