Estrazioni lotteria Java

Discussione in 'Java' iniziata da Francesco Dulio, 19 Luglio 2013.

Tag (etichette):
  1. Francesco Dulio

    Francesco Dulio Nuovo Utente

    Registrato:
    19 Luglio 2013
    Messaggi:
    1
    Mi Piace Ricevuti:
    1
    Punteggio:
    0
    Ciao a tutti :byebye:, sono nuovo del forum, così come di java.
    Ho un problema che penso sia banale, ma non riesco proprio a venirci a capo.
    Ho fatto un programma per delle estrazioni da una lotteria di 5000 biglietti. Ne deve estrarre 25. Il mio problema è far rimanere a video i numeri estratti: quando lo compilo (uso Processing per comodità) mi stampa le prime righe di draw() ma poi il ciclo for all'interno lo stampa solo per qualche millesimo di secondo e scompare. :confused:
    Inoltre (come ho scritto nel codice commentandolo) vorrei decidere se i biglietti sono stati venduti tutti ed eventualmente escludere quelli non venduti impostandoli ogni volta a video. Anche in questo non sono riuscito a capire come fare :(:(:(.
    Vi metto il codice, sicuramente saprete dove correggere o spiegarmi meglio come fare :)

    Codice:
    import java.util.Random;
    
    char letter;
    int estraz;
    int estra;
    Random random = new Random();
    int y;
    int i;
    int anArray[];
    boolean scr;
    
    void setup() {
      size(640, 840);
      textFont(createFont("Georgia", 36));
    }
    
    void draw() {
      background(0);
    
      textSize(16);
      text("Ci sono dei numeri invenduti? \nSe sì indicare con s, altrimenti con n.", 40, 90);
      text("--->" + letter, 40, 130, 540, 300);
    
      if (letter == 's') {
        text("Quali sono i numeri non venduti?", 40, 180);
    
        //Voglio inserire manualmente un po' di numeri che non sono stati venduti, presi tra i 5000
        /*if (scr=true) {
          for (a=0; a; a+=1) {
            anArray[a]=numIns;
          }
        }*/
    
        text("Bene, allora i numeri estratti sono:", 40, 240);
        while (i<25) {
          y+=20;
          i+=1;
          //h sono quanti numeri totali, l da dove parte
          //int h=5000-anArray.lenght;
          //int l=
          //estra = random.nextInt(h)+l;
          text(i + "° numero estratto: " + estra, 40, 260+y);
    
          //Devo far rimanere a video i numeri estratti
    
          println(estra);
        }
      }
    
      else if (letter == 'n') {
        text("Meglio così!!! I numeri estratti sono:", 40, 180);
        while (i<25) {
          y+=20;
          i+=1;
          estraz = random.nextInt(5000);
          text(i + "° numero estratto: " + estraz, 40, 200+y);
    
          //Devo far rimanere a video i numeri estratti
    
          println(estraz);
        }
      }
    }
    
    void keyPressed() {
      if ((key >= 'A' && key <= 'z') || key == ' ' || key >= '0' && 
        key <= '9') {
        letter = key;
        
        scr=true;
      }
    }
    
    Grazie per l'aiuto!!!

    P.S. Avevo pensato di usare le classi, ma non essendo molto pratico non volevo avventurarmi anche in quello, ma se fosse l'unico modo ben venga impararlo :eek:.
     
    A ottofonsuppost piace questo elemento.
  2. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.025
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    ti sposto nella sezione giusta, questa è di javascript
     
    A ottofonsuppost piace questo elemento.
  3. Slyfer

    Slyfer Utente Attivo

    Registrato:
    4 Dicembre 2010
    Messaggi:
    65
    Mi Piace Ricevuti:
    21
    Punteggio:
    0
    Processing non è Java, è basato su Java, mi sa che questo è il posto sbagliato....
     
    A ottofonsuppost piace questo elemento.
  4. ottofonsuppost

    ottofonsuppost Utente Attivo

    Registrato:
    10 Maggio 2016
    Messaggi:
    170
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    Quando si crea un programma, occorre usare una visualizzazione mediante diagrammi del listato, del codice, che scriveremo; la maggioranza dei programmatori del mondo usa per tale scopo il linguaggio UML.
    Tutto ciò è descritto nella LEZIONE N. 35 del corso pubblicato in questo Forum MR.WEBMASTER, riservato a chi non sa programmare; quindi dagli un'occhiata:

    Ottofonsuppost e la grande guerra a JAVA - Corso GRATIS per neofiti

    Ecco il link

    http://forum.mrwebmaster.it/threads...-a-java-corso-gratis-per-neofiti.45758/page-3

    L'uso di un DIAGRAMMA permette di stabilire le azioni che il programma dovrà compiere, e nel tuo caso avremo una sezione dove l'utente dovrà inserire in apposite variabili array i numeri dei biglietti estratti ma non venduti, e dopo il loro inserimento, la procedura dovrà rettificare il numero totale di estrazioni fatte e ancora da compiere.
    Attualmente per facilitarsi la scrittura di programmi in LINGUAGGIO JAVA la maggioranza dei programmatori fa uso degli editor ECLIPSE e NETBEANS, ma è risaputo che nella scrittura di programmi Java di poche righe è sufficiente addirittura il classico BLOCCO NOTE di Windows.
    Nel tuo caso, il problema delle scritte dei numeri che scompaiono dal monitor, non rimangono fisse per colpa di un ciclo FOR che usi nella stampa, è facilmente risolvibile modificando le istruzioni che il computer dovrà eseguire. Quel tipo di errore si risolve con la chiamata di un apposito METODO che fa solo quel compito; e in presenza di numerose righe da stampare, consente all'utente di decidere la prosecuzione della stampa nello schermo.
    L'utilizzo dei DIAGRAMMI consente al programmatore di risparmiare tempo nel capire tutto il funzionamento del suo programma; cosa che i commenti sparsi nel suo CODICE non consentono di ottenere. I vari blocchi di istruzioni più significativi e funzionali, tramite un diagramma fanno comprendere in pochi istanti cosa esegue il programma che abbiamo scritto, e di cosa si serve: CLASSI, METODI, VARIABILI, DECISIONI.
    Il linguaggio UML ha come caratteristiche principali la SINTESI e la FACILITA' DI COMPRENSIONE e possiamo considerarlo universale e l' INGEGNERIA DEL SOFTWARE; si tratta di un modo pratico per comprendere in pochi istanti il comportamento e la struttura di un programma, di un listato, di un codice scritto.
     
    Ultima modifica: 28 Luglio 2016
Sto caricando...

Condividi questa Pagina