Problème int ligne 18

Signaler
-
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
-
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;
}

}

1 réponse

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258
"Lire" de la ligne "Lire.entierInt();" est définit où ?
Quel est le message d'erreur exacte ?
Justement je sais pas vraiment comment le définir ????
C'est écrit Java error ligne 18
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
258 > Quentoki
Je ne fais pas de Java, mais en cherchant rapidement : https://howtodoinjava.com/java-examples/console-input-output/