Cannot convert from String to int

[Résolu/Fermé]
Signaler
Messages postés
25
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
14 décembre 2016
-
Messages postés
25
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
14 décembre 2016
-
Bonjour,
comme vous avez pu le lire j'ai cette erreur dans mon code mais je ne sais pas comment y pallier.
Voici mon code:

public void jouerSudoku() {
		

		int[][] tab2 = new int[9][9];
		

		int condition_ligne = 0;

		while (condition_ligne == 0) {
			System.out.print(" Veuillez choisir une ligne:");

			_ligne = sudoku.nextLine();
			
			if (Integer.parseInt(_ligne) > tab2.length) {

				System.out
						.println("Vous devez inserez un nombre compris entre 1 et 9");

				condition_ligne = 0;
			}

			else if (Integer.parseInt(_ligne) < tab2.length)

			{

				System.out
						.println("Vous devez inserez un nombre compris entre 1 et 9");

				condition_ligne = 0;
			}

			else {

				condition_ligne = 1;
				

			}

		}




4 réponses

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 860
Bonjour,

Sur quelle ligne porte le message d'erreur ?

De plus de quel type est la variable
_ligne
? (qui soit dit en passant devrait être déclarée dans la méthode, pas ailleurs...)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
25
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
14 décembre 2016

Le message d'erreur est ligne 12 pour la variable _ligne il s'agit d'un int, en fait les variables sont déclarées mais dans une autre partie du programme.
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 860
"les variables sont déclarées mais dans une autre partie du programme"
Il n'y a pas de raison, ce n'est pas comme cela que cela doit être fait en Java...

"la variable _ligne il s'agit d'un int"
C'est ça ton problème, tu le traites partout comme si c'était un String.
_ligne = sudoku.nextLine();
nextLine renvoie un String,
Integer.parseInt(_ligne)
, parseInt s'applique à un String...
Messages postés
25
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
14 décembre 2016

D'accord je vois, mais par quoi il faudrait que je remplace _ligne=sudoku.nextLine() pour que cela fonctionne avec un int?
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 860
Exactement la même chose que tu as mis partout pour transformer le String en int, tu dois utiliser Integer.parseInt...
Messages postés
25
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
14 décembre 2016

Mais oui suis-je bete, merci beaucoup de ton aide.
Bonne soirée