Problème int ligne 18

Fermé
quentoki - Modifié le 10 oct. 2020 à 18:37
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 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;
}

}
A voir également:

1 réponse

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