Questo programma che ho realizzato in Java estrae un numero a caso compreso in uno specifico intervallo di numeri (MIN e MAX) e richiede all’utente di indovinare qual’è il numero dicendo ogni volta se il numero immesso dall’utente è più grande o più piccolo del numero estratto fino a quando l’utente non indovina:

Clicca qui per una migliore leggibilità del codice

import javax.swing.*;

public class mathrandom
{
 public static void main (String[] args)
 {

 //intervallo dei valori tra cui estrarre il numero casuale
 final int MAX=2;
 final int MIN=1;

 //numero inserito dall'utente
 int x;

 //numero scelto dal computer
 int numerocasuale;

 //la funzione Math.random() restituisce un double >=0.0 e <1.0 scelto casualmente
 //per ottenere un intero compreso tra MIN e MAX si opera (MAX+1)*Math.random() e si fa un cast su un int
 if (MIN==0)
 numerocasuale = (int)((MAX+1)*Math.random());
 else
 numerocasuale = (int)((MAX)*Math.random()+MIN);

 do
 {
 x=Integer.parseInt(JOptionPane.showInputDialog("Indovina il numero che ho scelto compreso tra "+MIN+" e "+MAX));

 //caso in cui il numero inserito esce dall'intervallo
 if ((x<MIN)||(x>MAX))
 JOptionPane.showMessageDialog(null,"Sbagliato: devi scegliere un numero compreso tra "+MIN+" e "+MAX+"!");
 else
 {   

 //caso in cui il numero inserito è troppo grande
 if (x>numerocasuale)
 JOptionPane.showMessageDialog(null,"Sbagliato: scegli un numero piu' piccolo");

 //caso in cui il numero inserito è troppo piccolo
 if (x<numerocasuale)
 JOptionPane.showMessageDialog(null,"Sbagliato: scegli un numero piu' grande");
 }

 }
 while (x!=numerocasuale);

 //infine, se il numero viene indovinato
 JOptionPane.showMessageDialog(null,"Hai indovinato, era proprio "+numerocasuale+"!");

 System.exit(0);
 }
}

About OpenProgrammers

Programmatore per passione. Mi piace condividere qualsiasi idea o informazione utile, per questo motivo ho realizzato il blog.