quentoki
-
Modifié le 10 oct. 2020 à 18:37
NHenry
Messages postés15164Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 novembre 2024
-
10 oct. 2020 à 21:43
Bonjour,
Pour m'entrainer j'aimerais faire un système de loto en java, cependant je rencontre des erreurs ( étant débutant) Je ne comprend pas pourquoi il n'arrive pas à Lire entier int situé à la ligne 18.
J'aimerais qu'il puisse lire jeu
Merci d'avances pour vos réponses Enzo.
public class Loto
{
public static void main (String [] args)
{
int [] jeu = new int[5];
int numChance = 0;
System.out.println();
System.out.println("Ce programme simule le jeu LOTO");
System.out.println("Saisissez vos 5 numeros entre 1 et 49 inclus");
int i = 0;
do
{
for( i = 0; i < 5; i++)
{
jeu[i] = Lire.entierInt();
}
if(!tabDansIntervalle(jeu) )
{
System.out.println("recommencez : vos numeros ne sont pas tous bons");
}
}
while( !tabDansIntervalle(jeu) );
int [] tirage = new int[5];
do
{
tirage = tabloIntHasard();
}
while( !tabSansDoublons(tirage) );
System.out.println();
System.out.print("tirage par ordre de sortie : ");
affichTab(tirage);
System.out.println("\n");
System.out.print("tirage par ordre croissant : ");
tabOrdreCroissant(tirage);
affichTab(tirage);
System.out.println();
System.out.print("Votre jeu, ordre croissant : ");
tabOrdreCroissant(jeu);
affichTab(jeu);
System.out.println("\n ");
int n = cardINTERtabs(jeu, tirage);
if(n > 0)
{
System.out.print("Vous avez trouve " + n + (" numero(s) : "));
System.out.print("");
tabINTERtab(jeu, tirage);
}
else
{
System.out.println("Vous n avez trouve aucun numero");
}
}
//1. Ecrire une méthode qui, étant donné un tableau d'entiers,
//affiche les valeurs de ce tableau sur la même ligne
public static void affichTab(int [] tab)
{
for(int i = 0; i < tab.length; i++)
{
if( i == tab.length - 1)
{
System.out.print(tab[i]);
}
else
{
System.out.print(tab[i] + " - ");
}
}
}
//2. Ecrire une méthode qui retourne un tableau de 5 entiers
//dont les valeurs sont pris au hasard de 1 à 49 (inclus)
public static int [] tabloIntHasard ()
{
int [] tab = new int [5];
for(int i = 0; i < tab.length; i++)
{
tab[i] = (int)( (Math.random() * 49) + 1);
}
return tab;
}
//3. Ecrire une méthode qui étant donné un nombre entier et un tableau
//d'entiers, vérifie la présence ou non de cet entier dans ce tableau
public static boolean nombreDansTableau(int entier, int [] tabEntier)
{
boolean verite = false;
for(int i = 0; i < tabEntier.length; i++)
{
if( entier == tabEntier[i] )
{
verite = true;
break;
}
}
return verite;
}
//4. Ecrire une méthode qui, étant donné un nombre entier et un tableau
//d'entiers, retourne le nombre de fois où l'on trouve cet entier
// dans ce tableau
public static int nbreEltDansTablo(int entier, int [] tabEntier)
{
int nombre = 0;
for(int i = 0; i < tabEntier.length; i++)
{
if( entier == tabEntier[i] )
{
nombre++;
}
}
return nombre;
}
//5. Ecrire une méthode qui, étant donné un tableau d'entiers,
//vérifie l'absence de doublons
public static boolean tabSansDoublons(int [] tabEntier)
{
boolean verite = true;
for(int i = 0; i < tabEntier.length; i++)
{
if( nbreEltDansTablo(tabEntier[i], tabEntier) > 1 )
{
verite = false;
break;
}
}
return verite;
}
// 6. Ecrire une méthode qui, étant donné un tableau d'entiers,
//retourne le même tableau. Mais cette fois, les nombres sontclassés
//par ordre croissant.
public static void tabOrdreCroissant(int [] tabEntier)
{
for(int i = 0; i < tabEntier.length - 1; i++)
{
for(int j = 0; j < tabEntier.length - 1; j++)
{
if( tabEntier[j] > tabEntier[j+1] )
{
int temp = tabEntier[j];
tabEntier[j] = tabEntier[j+1];
tabEntier[j+1] = temp;
}
}
}
}
// 7. Ecrire une méthode qui, étant donné 2 tableaux d'entiers,
//retourne le nombre de valeurs qu'on trouve simultanément dans
// les 2 tableaux. (le cardinal de l'intersection)
public static int cardINTERtabs(int [] tabEntier1, int [] tabEntier2)
{
int card = 0;
for(int i = 0; i < tabEntier1.length; i++)
{
if( nombreDansTableau(tabEntier1[i], tabEntier2) )
card++;
}
return card;
}
// 8. Ecrire une méthode qui, étant donnés 2 tableaux d'entiers,
// affiche les valeurs communes aux 2 tableaux
public static void tabINTERtab(int [] tabEnt1, int [] tabEnt2)
{
for(int i = 0; i < tabEnt1.length; i++)
{
for(int j = 0; j < tabEnt2.length; j++)
{
if(tabEnt1[i] == tabEnt2[j] )
System.out.print(tabEnt1[i] + " ");
}
}
}
//Ecrire une méthode qui, étant donné un tableau d'entiers, vérifie
//que ces valeurs sont comprises entre 1 et 49
public static boolean tabDansIntervalle(int [] tab)
{
boolean verite = true;
for(int i = 0; i < tab.length; i++)
{
if(tab[i] < 1 || tab[i] > 49)
{
verite = false;
}
}
return verite;
}
}
10 oct. 2020 à 18:58
C'est écrit Java error ligne 18
10 oct. 2020 à 21:43