Probleme de stacktrace [/noob inside] - Java - Programmation
Marsh Posté le 15-06-2006 à 01:16:12
Ca concerne plutot un tableau ("Array" ) mais il faudrait voir le code.
Marsh Posté le 15-06-2006 à 02:09:45
Un tableau ?
Voici le code :
import java.awt.*;
import java.util.*;
import javax.swing.*;
import gtr.individu.*;
import java.lang.String;
import java.io.*;
/**
*
* @author Admin
*/
public class JdialogClient extends javax.swing.JDialog {
private Vector<Individu> client = new Vector<Individu>();
private String nom = new String("PECHEUX" );
/** Creates new form JdialogClient */
public JdialogClient(java.awt.Frame parent, boolean modal)
{
super(parent, modal);
initComponents();
this.radLoc.setSelected(true);
this.panLoc.setVisible(true);
this.radAchat.setSelected(false);
this.panAchat.setVisible(false);
int i= posVect();
System.out.println(client.get(i).getNom());
System.out.println(client.get(i).getPrenom());
}
...
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new JdialogClient(new javax.swing.JFrame(), true).setVisible(true);
}
});
}
int posVect(){
int tempo=0;
int i=0;
while (i<client.size()){
String indi = new String(client.get(i).getNom());
if (nom.equals(indi)==true){
tempo = i;
}else{
i++;
}
}
System.out.println("vrai :"+client.get(2).getNom());
System.out.println("vrai :" + client.get(2).getPrenom());
return tempo;
}
En gras les lignes où je sousponne les erreurs...
Marsh Posté le 15-06-2006 à 09:22:04
Infos en vrac :
- Une stacktrace est composée de plusieures lignes et se lit de haut en bas. En remontant la stacktrace, tu va tomber sur une ligne indiquant une de tes classes avec un numéro de ligne, c'est là qu'il faut regarder pour comprendre l'erreur.
- new String("PECHEUX" ), c'est inutile et absurde, remplace par :
private String nom = "PECHEUX"; // tout simplement
de même
String indi = client.get(i).getNom();
d'une façon générale il ne faut jamais utiliser le constructeur new String(uneString) car les string sont des objets immuables
- remplace
Code :
|
par
Code :
|
- l'erreur vient surement de client.get(2) s'il n'y a moins de 2 éléments
car les indices vont de 0 à size -1
Marsh Posté le 15-06-2006 à 13:32:49
Citation : Ca concerne plutot un tableau ("Array" ) mais il faudrait voir le code. |
Sissi, ça peut être les Vector (c'est l'exception que ça lance en cas de problème d'indice)
Citation : On sait pas non plus la structure de Individu... |
On peut imaginer que getNom() et getPrenom() vont retourner une String donnant le nom et le prénom d'une personne
Marsh Posté le 15-06-2006 à 00:43:18
Bonsoir ,
je commence dans l'univers Java, donc soyez clément (ortho )
Voila mon probleme, j'ai une erreur que l'on appelle stacktrace (j'ai vite fai vu sa dans le tuto). c'est la suivante :
java.lang.ArrayIndexOutOfBoundsException
Il me semble qu'elle concerne les vecteur non? pouvez vous m'en dire plus ? Je reste bloqué la depuis trop lontemps...
Merci