Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Math.random() Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152

    Math.random() Java

    Salve studio ingegneria informatica e ho un pò di problemi riguardo al linguaggio in Java.
    sto cercando di fare un gioco che consiste nell indovinare un numero da 1 a 100 generato a caso dal computer. Per fare ciò ho usato Math.random() che però da quello che ho intuito va da 0 a 1
    e inoltre non riesco a usare "while" in maniera corretta, in pratica vorrei che il gioco continuasse finchè non azzecco il numero. Per ora ho scritto il seguente codice e vorrei aggiungere un avviso se il numero che ho scelto è maggiore o minore:

    import fiji.io.*;
    class Gioco{
    public static void main (String[] args){
    int n, k, cont; //n è il numero da indovinare , k num tastiera, cont conta i tentativi
    n= (int)(Math.random()*100);
    k = Lettore.in.leggiInt(); // leggi dalla tastiera
    while (n!=k){
    System.out.println("Ritenta");
    }
    if(n==k){
    System.out.println("giusto");
    }
    else
    System.out.println("ritenta");
    }
    }


    PS import fiji + "Lettore.in.leggiInt" è il leggi dalla tastiera
    grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Math.random() Java

    Originariamente inviato da keykode20
    n= (int)(Math.random()*100);
    k = Lettore.in.leggiInt(); // leggi dalla tastiera
    while (n!=k){
    System.out.println("Ritenta");
    }
    OVVIAMENTE la lettura da tastiera va rifatta ad ogni iterazione! Spostala all'interno del ciclo (che andrà trasformato in un do-while).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    usa la classe Random

    codice:
    Random random=new Random();
    
    int n=random.nextInt(100);
    per lo while farei così

    codice:
    boolean trovato=false;
    while (!trovato){
      k = Lettore.in.leggiInt(); // leggi dalla tastiera
      if (n!=k){
          System.out.println("Ritenta");
      }
      else
      {
         System.out.println("Trovato!!!!!!!!!!");
         trovato=true;
      }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152

    grazie mille

    quindi in pratica la negazione del while il permette di fare in modo che l istruzione contenuta nel blocca continui! ok credo di aver capito! grazie mille a tutti!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152

    un altro dubbio

    scusate un ultima domanda non riesco a usare l istruzione else nel modo giusto!
    vorrei mettere un istruzione condizionale del tipo

    if(n>k){
    System.out.print(" numero scelto è troppo alto");
    }
    else(??????????) if(n<k){
    System.out.print(" numero scelto troppo basso");
    }



    non so come usare bene "if/else" posso fare cosi:
    if(...){
    ...
    }
    else(...){
    ...
    }

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: grazie mille

    Originariamente inviato da keykode20
    quindi in pratica la negazione del while il permette di fare in modo che l istruzione contenuta nel blocca continui!
    ??? No. L'iterazione continua se la condizione (controllata a ogni iterazione) è true. Scrivere while (!trovato) è una abbreviazione di while (trovato == false).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317

    Moderazione

    Java ha un forum dedicato.
    Il titolo, come indicato nel regolamento interno, deve essere significativo ed il codice va postato all'interno degli appositi tag CODE.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    152
    il titolo non è significativo? mi scuso se non avevo aperto il topic nella sezione "Java" ma ero convinto di averlo fatto

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    codice:
    if(n>k)
    {
        //entra se n>k
       ........
    }
    else if(n<k)
    {
      //entra se n<k
      ...........
    }
    else
    {
       //entra se n=k
       .............
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.