IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Problème de compilation : variable lists might not have been initialized


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2017
    Messages : 25
    Par défaut Problème de compilation : variable lists might not have been initialized
    Bonjour, j'ai un problème de compilation dans le code ci-dessous, à la ligne 21

    Le message d'erreur est le suivant

    " variable lists might not have been initialized"

    Je ne comprends pas car je pense que la déclaration et l'initialization se font avec l'objet > ArrayList<Integer> liste; ?

    Pouvez-vous m'aider?

    Merci d'avance

    **********************

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    import java.util.*;
    public class Grille {
     
    	int[][] tab1 = {{0,4,3,7,0,0,9,0,8},
    	                {0,5,0,3,0,0,0,0,0}, 
    	                {0,1,0,0,0,0,3,0,0},
    	                {6,0,0,0,2,7,0,0,0}, 
    	                {4,0,7,0,0,0,1,0,3},
    	                {0,0,0,5,4,0,0,0,9},
    	                {0,0,2,0,0,0,0,3,0},
    	                {0,0,0,0,5,0,4,0,0}, 
    	                {5,0,4,0,0,1,2,6,0}};
     
    	public Grille(ArrayList<Integer> al) { // Constructeur qui utilise les valeurs d'une liste pour les mettre dans un tableau
     
    		int nbcol = 9; // Initialisation du nombre de colonnes
    		int nblig = 9; // Initialisation du nombre de lignes
     
    		ArrayList<Integer> liste;
     
    			if (liste.size() != nbcol * nblig) { // Condition qui permet de valider si le nombre de cases correspond à la taille de la grille
    				System.out.println("Le nombre de données ne correspond pas à la taille de la grille");		
    			}
     
    			int ligne = 0;
    			int colonne = 0;
     
    			for(Integer e : al) { // Création d'une boucle pour copier 
     
    				tab1 [ligne][colonne] = e;
    				colonne++;
     
    		  			 if(colonne >= nbcol) {
     
    		        		colonne = 0;
     
    						ligne++;
    		    	}
    		    }
    	}
     
    	public void grilleToArray(ArrayList<Integer>al){ // Méthode prenant une ArrayList en entrée et qui y affecte les valeurs du tableau
     
    	 	for (int nblig = 0; nblig < tab1.length; nblig++) {
    		 	for (int nbcol = 0; nbcol < tab1[nblig].length; nbcol++) { 
    			 	al.add(tab1 [nblig][nbcol]);
     
    			 }
     		}
    	}
     
    		public boolean estSurLigne(int valeur, int ligne) {	// Valide si la valeur est présente sur la ligne
    			for (int i = 0; i < 9; i++) 
    				if (tab1[ligne] [i] == valeur) {
    						System.out.println("La valeur est déjà présente sur cette ligne");
    						return true;
    				}
    				return false;		
    		}
     
    		public boolean estSurColonne(int valeur, int colonne) { // Valide si la valeur est présente sur la colonne			
    			for (int j = 0; j < 9; j++) 
    				if (tab1[colonne] [j] == valeur) {
    						System.out.println("La valeur est déjà présente sur cette colonne");
    						return true;
    				}
    			return false;				
    		}
     
    		public boolean estDansLeBloc(int valeur, int ligne, int colonne){ // Valide si la valeur est présente à l'intersection de la ligne et de la colonne
    		if ( tab1[ligne][colonne] == valeur ){
    			System.out.println("La valeur est déjà présente à l'intersection de cette ligne et de cette colonne");
    				return true;
     			}
     
     		else {
     			return false; // La valeur se trouvant à l'intersection n'est pas "valeur"
    			}
    		}
     
    	private static final String tiret = "------------------------\n"; // Création et affectation de la variable texte "tiret"
    	public void imprimerGrille() { // Méthode destinée à imprimer le grille de jeu
    			StringBuilder sb = new StringBuilder(); // Création de l'objet StringBuilder
    				sb.append(tiret);
    					for (int i = 0; i < tab1.length; i++) {
    						if (i == 3 || i == 6 ) {
    							sb.append(tiret);
    						}
     
    					sb.append("|");
    					for (int j = 0; j < tab1[i].length; j += 3) {
    						for (int kj = j; kj < j + 3; kj += 1) {
    							if (tab1[i][kj] != 0)
    								sb.append(tab1[i][kj]);
    							else
    								sb.append(" ");
    								sb.append(" ");
    							}
    						sb.append("| ");
    					}
    				sb.append("\n");
    			}
    			System.out.println(sb);
    			sb.append(tiret);
    	}
    }

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut re
    OK,

    ligne 19 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Integer> liste;
    Ce n'est pas une initialisation

    pour initialiser par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Integer> liste=new ArrayList<Integer>();
    ensuite tu fait un liste.size(), et il fera 0.
    D'ailleurs je comprends pas trop la ligne 21

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut re
    il faut que tu maitrises les listes, c la base :

    http://jmdoudoux.developpez.com/cour...#collections-3

    Les vector, c finit, vive les ArrayList, d'ailleurs par defaut, tu y stocke un object.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut re
    je pense qu'il y a plus elegant, une ArrayList a des methodes pour convertir vers des tableaux directement

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    List<String> stockList = new ArrayList<String>();
    stockList.add("stock1");
    stockList.add("stock2");
     
    String[] stockArr = new String[stockList.size()];
    stockArr = stockList.toArray(stockArr);
     
    for(String s : stockArr)
        System.out.println(s);
    ici, c'est un tableau de String, mais tu peux peut etre adapter
    cherche oeut etre que ca peut t'aider

    Bonne chance

    bon courage.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2017
    Messages : 25
    Par défaut merci Batou22003, j'ai effectivement mal créer mon Arraylist .... je pense que c'est réglé maintenant !
    Citation Envoyé par batou22003 Voir le message
    OK,

    ligne 19 :
    ArrayList<Integer> liste;
    Ce n'est pas une initialisation

    pour initialiser par exemple :
    ArrayList<Integer> liste=new ArrayList<Integer>();


    ensuite tu fait un liste.size(), et il fera 0.
    D'ailleurs je comprends pas trop la ligne 21

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème dans la compilation des classes
    Par info_systeme dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/09/2009, 20h25
  2. Problème de compilation dans le shell
    Par fab76000 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 26/05/2008, 16h33
  3. Réponses: 1
    Dernier message: 11/02/2007, 11h45
  4. [css]problème d'attribution de classe dans deux listes
    Par Mitaka dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 24/11/2005, 18h05
  5. [Débutant] J'ai un problème avec la compilation des classes
    Par Paulinho dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/11/2005, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo