Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Limiter nombre aléatoire Java

Posté par
Moratos
12-02-15 à 17:49

Bonjour,
Voici mon questionnement. J'ai un programme qui génère des nombres aléatoires.
L'utilisateur doit entrer un nombre en 9 et 18. Certains nombre aléatoire sont choisi pour calculer la surface d'un cercle. Mais ce n'est pas cela qui est important.
Le programme doit généré 9 nombres [/u]aléatoires autre que le nombre saisie par l'utilisateur. Je ne sais pas comment ni ou placer cette règle. J'ai toujours une grande quantité de nombre généré.
Aussi, j'aimerais qu'il n'y ai pas de doublons.
Je ne crois pas que ce soit très compliqué, mais en ce moment je suis un peu perdu.

import java.util.Scanner;
import java.math.*;
import java.*;

public class sudoku {

final static double PI = 3.141592564;

public static void main (String [] args) {

int Unlance;
Scanner sc = new Scanner(System.in);
int tab[];
int tampon = 0;
int nombre = 0;
int rayon1 = 0;
int rayon5 = 0;


// Donne les instructions pour les chiffres permis

System.out.print ("Veuillez entrer un chiffre plus grand que 9 et plus petit ou égal à 18 : ");

// Nombre récupère les données saisies

nombre = sc.nextInt ();


//System.out.println("Saisir un nombre inférieur ou égal à  18 et supérieur à 9 :");


// Vérifie que le nombre est valide

if(nombre > 9 || nombre <= 18)
{

while(nombre <= 9 || nombre >= 18)
{
System.out.print ("Nombre invalide. Veuillez saisir encore un nombre inférieur ou égal à  18 et supérieur à 9 :");
nombre = sc.nextInt ();
}

}



String Message = " nombres aléatoires sont : " ;

System.out.println(Message);

for (int i = 0; i < 100; i++){
// parce que Entrer un chiffre plus grand que 9 et plus petit ou égal à 18

Unlance = randomInt(1,18);


tampon = Unlance;

// pour i = 0, on réupère le rayon1
if (i == 0){
rayon1 = Unlance;}

// pour i = 4, on réupère le rayon5

if (i == 4){
rayon5 = Unlance;}


System.out.print (Unlance + " ");


}

System.out.println (" ");
System.out.println (" Les rayons sont : ");
System.out.print (" La valeur du rayon1 est: ");
System.out.println(rayon1);
System.out.println();
System.out.print (" La valeur du rayon5 est: ");
System.out.println(rayon5);

/**************************************************/
/*tu peux continuer maintenat
/*Calculer les surfaces de ces cercles et afficher*/
/*les résultats par ordre décroissant             */
/**************************************************/

double surface1 = PI* (rayon1*rayon1);
double surface5 = PI* (rayon5*rayon5);

if(rayon1 < rayon5){


System.out.println ("La surface est (avec rayon5): " + surface5);


System.out.println ("La surface (avec rayon1) est: " + surface1);
}

else{


System.out.println ("La surface du cercle 1 est): " + surface1);


System.out.println ("La surface du cercle 5 est: " + surface5);
}



}
// pour generer les nombres aléatoires
public static int randomInt (int petit, int grand){

int resultat =( (int) (Math.random()* (grand - petit +1)) + petit);

return resultat;
}

}

Posté par
Moratos
Résolut 16-02-15 à 15:00

Résolut



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !