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

Collection et Stream Java Discussion :

Où et Comment declarer un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut Où et Comment declarer un tableau
    bonsoir à tous,

    voila mon probleme:

    j'ai une classe java dans laquelle j'ai mon Main et un ActionPerformed (qui vient lorsqu'on clique sur un bouton).

    Ds le main, j'ai mis un tableau (déclaration et construction).
    Mais j'en ai aussi besoin dans mon actionPerformed, mais je n'arrive pas à placer la declaration convenablement pour ne pas avoir des erreurs. Voici mon code:


    public class Test extends javax.swing.JFrame {
    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
     static int i;
        static int max;
     
        /** Creates new form TestLireExcel */
        public TestLireExcel() {
            initComponents();
        }
       private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    String mot;
    mot=TextMot.toString();
    FileWriter ecrivain;
    int c;
    ecrivain = new FileWriter("fichier.txt");
        ecrivain.write("import class\n");
        for (i=0;i<max;i++){
            if(temp[i][1].equals(mot)){
                ecrivain.write(temp[i][2]);
            }
     
        ecrivain.close();
     
    } 
     
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) throws IOException {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new TestLireExcel().setVisible(true);
                }
     
            });
     
            //creation d'une matrice dans laquelle on va mettre les mots'
        String[] temp;
        temp=new String[100];
        String[][] lexique;
        lexique = new String[100][2];
     
    ...
     
     
     
        for (i=0;i<max;i++){
            StringTokenizer st = new StringTokenizer(temp[i],";");
            lexique[i][1]=st.nextToken();
            lexique[i][2]=st.nextToken();      
        }
         for (i=0;i<max;i++){
            System.out.println(lexique[i][1]);
            System.out.println(lexique[i][2]);
         }
     
     
    }
    Dans ce cas, j'ai 2 erreurs dans le ActioPerformed car le tableau temp n'est pas défini!

    Si je les déclare avant (là où j'ai mis le static i et max, j'ai aussi des erreurs pour:
    temp=new String[100];
    lexique = new String[100][2];
    voici l'erreur:

    Test.java:19: <identifier> expected
    temp=new String[100];
    Test.java:21: <identifier> expected
    lexique = new String[100][2];


    Comment regler ce probleme?

    MERCI

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Bonjour

    Il faut que ton temp soit une variable global.
    Tu la ou tu a mis le "static int i" mais tu l'instancie dans le main.
    En gros ca donne qqch dans ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    private static String temp;
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
    { 
         temp[0] ="Ce que tu veux";
    }
     
    public static void main(String args[]) throws IOException 
    { 
         temp = new String [100];
    }

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Par défaut
    Hello, le plus propre serait encore d'instancier ton tableau dans ton constructeur si tu en connais la taille aussi non dans le main mais c'est pas propre du tout!

    +++
    vandoor

  4. #4
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    La déclaration s'est bien passée!!
    Mais j'ai un autre probleme:

    J'ai une matrice [][] de String.
    Lorsque je vais quelques chose du genre:
    String mot;
    for(i=0;i<max;i++)
    {
    mot=matrice[i][1];

    }

    Il me mets erreur: array required, but java.Lang.String found.

    C'est à cause de la matrice?

  5. #5
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Que veux-tu faire dans ta boucle ? concatener toutes les String de la matrice ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  6. #6
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Non, je vais juste prendre un par un chaque element de la matrice et comparer avec un autre string

  7. #7
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Peux-tu poster l'integralité du corps de la boucle ? parceque avec l'exemple que tu donnes je ne vois rien de louche.

    P.S: pense à utiliser les balises code.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  8. #8
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Et voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String mot;
    mot=TextMot.toString();
    FileWriter ecrivain;
     
        for (i=0;i<max;i++){
            if(temp[i][1].equals(mot)){
                //Action a effectuer
            }
       }
    }
    Voila...j'ai mis action a effectuer sinon tu ne verras pas clair ds le code. L'erreur vien de : if(temp[i][1].equals(mot)){

    Mais je ne comprends pas

  9. #9
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    je ne comprends pas trop non plus.
    essaye quand mème pour voir ,le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String mot,chaine;
    mot=TextMot.toString();
    FileWriter ecrivain;
     
        for (i=0;i<max;i++){
            chaine=temp[i][1];
    if(chaine.equals(mot)){
                //Action a effectuer
            }
       }
    }


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  10. #10
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    meme probleme

    J'ai aussi un autre probleme si je mets le premier probleme en commentaire:

    je dois normalement ajouter ca dans mon bouton:

    throws IOException
    Mais je n'arrive pas à le mettre à coté de
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    pour que ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)  throws IOException{
    car je travail sous NetBeans 5 et que cette ligne là est inaccessible (on ne peut pas ecrire dessus)

    Comment faire?

  11. #11
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    quelle est l'erreur obtenue avec mon code ? à quelle ligne il y a un problème ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  12. #12
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Le premier probleme vient des lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine=temp[i][1];
    if(chaine.equals(mot)){
    et c'est la meme erreur!!

  13. #13
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    peux-tu preciser la délaration de la matrice tmp , en postant le bout de code qui instancie tmp et le rempli.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  14. #14
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Et voila:


    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
     
    public class TestLireExcel extends javax.swing.JFrame {
        static int i;
        static int max;
     
        private static String temp[];
     
        private static String lexique[][];
     
        /** Creates new form TestLireExcel */
        public TestLireExcel() {
            initComponents();
        }
     
     ...
     
     
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            String mot;
            mot=TextMot.toString();
     
     
            for (i=0;i<max;i++){
                  if(temp[i][1].equals(mot)){
                     ...
                  }
     
     
            }
     
        }                                        
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) throws IOException {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new TestLireExcel().setVisible(true);
                }
     
            });
            //creation d'une matrice dans laquelle on va mettre les mots'
     
            BufferedReader lecteurAvecBuffer = null;
            String ligne;
            temp=new String[100];
            lexique = new String[100][2];
            //lecture dans le fichier
            try{
                FileReader lecteur;
                int c;
     
     
                lecteurAvecBuffer = new BufferedReader
                        (new FileReader("c:/fichier.csv"));
            } catch(FileNotFoundException exc) {
                System.out.println("Erreur d'ouverture du fichier 'lexique'");
            }
            max=0;
            while ((ligne = lecteurAvecBuffer.readLine()) != null){
                temp[max]=ligne;
                max++;
            }
     
    ...
     
            for (i=0;i<max;i++){
                StringTokenizer st = new StringTokenizer(temp[i],";");
                lexique[i][0]=st.nextToken();
                lexique[i][1]=st.nextToken();
            }
            for (i=0;i<max;i++){
                System.out.println(lexique[i][0]);
                System.out.println(lexique[i][1]);
            }
     
     
        }

  15. #15
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static String temp[];
    tu déclare temp comme un tableau de String à une dimension
    alors que toi tu veux une matrice, remplace la déclaration comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private static String temp[][];


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  16. #16
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut


    Mille excuses!!!
    J'ai confondu mon temp avec lexique MERCI D'AVOIR TROUVE !!

    Mais concernant mon deuxieme probleme? Je dois faire comment pour ajouter l'exception IO?

  17. #17
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Ton deuxième problème concerne l'EDI NetBeans ,ton post a donc plus sa place dans le forum Netbeans.

    N'oublie pas le tag

    le mot de la fin: il doit y avoir un espèce de secure refactoring mais j'en sais pas plus


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

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

Discussions similaires

  1. comment declarer un tableau permenante
    Par hayat2 dans le forum Débuter
    Réponses: 7
    Dernier message: 13/05/2009, 09h33
  2. Comment declarer un tableau sur vb 2005?
    Par g_lauk dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/02/2009, 17h16
  3. [INDEPENDANT]Comment declarer son travail ?
    Par xufux dans le forum Freelance
    Réponses: 21
    Dernier message: 03/07/2004, 23h23
  4. Réponses: 2
    Dernier message: 22/03/2004, 10h50
  5. comment creer un tableau "stable"
    Par gaut dans le forum C
    Réponses: 16
    Dernier message: 23/07/2003, 16h20

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