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

Java Discussion :

les matrices en java


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 54
    Points
    54
    Par défaut les matrices en java
    bonjour,
    je cherche à travailler avec une matrice dynamique que je la remplie mais j'ai pas trouvé comment le faire donc j'ai déclaré une matrice avec des dimensions plus au moins grande:
    String[][] matconceptfils;
    matconceptfils=new String[100][100];
    à l'instant j'ai ce problème je suis entrain de parcourir la matrice dont chaque ligne ne contient pas le même nombre de colonne c-à-d la première ligne contient une case (une valeur), la 2ème contient x valeurs, la 3 ème contient y valeur etc. en comparant les cases de matrice:
    if (matconceptfils[j][j2].equals(str1)){....}
    j'ai cet erreur:
    java.lang.NullPointerException
    at test.commande.cluto.Exec.RdfsManip(Exec.java:191)

    la ligne 191 est la ligne de test (if) lorsque j'ai affiché le
    matconceptfils[j][j2] je trouve qu'il s'arrête quand la valeur de matconceptfils[j][j2] est null, comment régler cette situation.

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Si tu ne sais pas avant si ta valeur sera null ou non il faut que tu fasse le test.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (matconceptfils[j][j2] != null)
    {
        if (matconceptfils[j][j2].equals(str1)){....}
    }
    Autre solution si jamais tu sais que str1 ne sera jamais null il suffit d'inverser les chaine dans ton test et de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (str1.equals(matconceptfils[j][j2])){....}
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 54
    Points
    54
    Par défaut
    j'ai essayé vos deux possibilités mais j'ai toujours le même problème comme ci il voit pas le test:
    if (matconceptfils[j][j2] != null)

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu es sur que l'erreur est toujours à la même ligne? Tu peux poster ton code entier (ou du moins la fonction qui pose problème)?
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 54
    Points
    54
    Par défaut
    en fait j'ai cette méthode et mon main fait appel que à cette méthode:
    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
    public static String [][] RdfsManip(String conceptpath){
     
    	String[][] matconceptfils=new String[100][100];
    	org.jdom.Document document;
    	 Element racine;
    	 String str1;
    	 Boolean trouve = false;
    	 Boolean fils=false;
    	 int ligne=0;
    	 int k=0;
    	 int j2;
    	 int j=0;
    	 String str3 ="";
    	 // l'entier cl est utilisé pour enregistrer le nom du concept dans la case[0][0]
    	 int cl=0;
    	 String str2 ="no_relation";
    	 SAXBuilder sxb = new SAXBuilder();
    	 //conceptpath="C:\\Documents and Settings\\aroua\\Bureau\\PFE\\code\\rdfsconceptrelation2\\Abdomen.rdfs";
    	 try
    	    { 	
    		 document = sxb.build(new File(conceptpath));
    	     racine=document.getRootElement();
     
    		 List listclass =racine.getChildren();
    		 Iterator i = listclass.iterator();
     
    	     while (i.hasNext()) 
    	      { 
    	     Element courant = (Element)i.next();
     
             List listlabel=courant.getChildren();
             Iterator i1 = listlabel.iterator();
             while (i1.hasNext()){
            	 Element courant1 = (Element)i1.next();
     
            	if (((courant1.getQualifiedName().equals("rdfs:label"))) && (cl==0)){
            		str2=courant1.getText();
            		System.out.println(str2);
            		matconceptfils[0][0]=str2;
            		System.out.println(matconceptfils[0][0]);
            		} 
            	if(courant1.getQualifiedName().equals("rdfs:label")){
            		str3=courant1.getText();
            	}
     
            	if((courant1.getQualifiedName().equals("rdfs:comment"))){
            		;
            		}
            	else if (courant1.getQualifiedName().equals("rdfs:subClassOf")) {
            	     //récupérer les fils
            		List list2=courant1.getAttributes();
            		str1=list2.get(0).toString().substring(27);
            		StringTokenizer stl= new StringTokenizer(str1,"]");
            		str1=stl.nextToken();
            		str1=str1.substring(0, str1.length()-1);
            		j=0;
            		while( (j<100) && (trouve==false))
            		{  j2=0;
     
     
            			while( (j2<100) && (trouve==false)){
            				System.out.println("mat"+matconceptfils[j][j2]);
            				if(matconceptfils[j][j2] == null){trouve=true;}
            				if (matconceptfils[j][j2] != null){
     
            				if (matconceptfils[j][j2].equals(str1)){
            					System.out.println("je suis true");
            					if(j!=ligne){k=0;}
            					System.out.println("str3"+str3);
            					matconceptfils[j+1][k]=str3;
            					k++;
            					trouve=true;
     
     
            				}
            				else j2++;	}
            			}
            			j++;
            		}
            		if(trouve==true){
            			ligne=j-1;
            		}
            		trouve=false;
     
            	}
            	cl++;
            	}
     
             }
     
    	    }
    	 catch(Exception e){System.out.println(" we've got a problem");
    		e.printStackTrace ();}
     
    	return matconceptfils;
     
    }

Discussions similaires

  1. Les futurs tutoriels Java sur DVP ?
    Par Ricky81 dans le forum Débats
    Réponses: 65
    Dernier message: 06/01/2012, 02h33
  2. [Avis] Les meilleurs programmes Java ?
    Par christopheJ dans le forum ImageJ
    Réponses: 69
    Dernier message: 07/10/2008, 01h12
  3. Opérations sur les matrices...
    Par aokiseiichiro dans le forum C
    Réponses: 32
    Dernier message: 28/07/2005, 17h10
  4. Réponses: 5
    Dernier message: 15/02/2005, 10h32
  5. [Stratégie] Ant pour les tests en Java ?
    Par franckR dans le forum Tests et Performance
    Réponses: 5
    Dernier message: 08/03/2004, 09h38

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