|
|
|
|
Bonjour,
j'ai une petite question
Je voudrais utiliser cette ligne
String sites = JOptionPane.showInputDialog("Entrer un ou plusieurs sites a organiser");
puis celle-ci
char[] tabsites = sites.toCharArray();
Mais le compilateur bloque sur la deuxième, il dit qu'il ne trouve pas de variables sites dans ma classe....
Configuration: Windows XP Firefox 2.0.0.14
Bonjour,
|
Merci Marco, c'est effectivement un probleme de bloc, mais un peu plus compliqué...
|
1. Quelqu'un sait comment aller à l'adress x d'un tableau (x étant un entier positif ?
|
Salut,
|
Hello,
En fait j'ai trois variables que je devais initialiser : - à la déclaration - à un moment précis de l'execution Il ne faut pas tout confondre. Il y a instanciation et initialisation. L'instanciation est le fait de déclarer physiquement une variable, et ainsi définir son espace de visibilité. L'initialisation est le fait d'allouer de l'espace mémoire pour ta variable, et de donner une valeur initiale à cette variable. Rien ne t'empêche d'instancier ton objet et de ne l'initialiser que plus tard. Si tous tes paramètres font partie d'une seule et même classe, alors il n'y a aucun problème : tu les déclares en tant qu'attributs d'instance et tu as une visibilité dans toute ta classe. Si par contre tu les utilises dans plusieurs classes, il faut les passer en paramètre lorsque tu appelles une méthode. Concernant tes deux autres questions... 1/Quelqu'un sait comment aller à l'adress x d'un tableau (x étant un entier positif ? Bah je ne comprends pas très bien ta question, mais si tu as un char[] tableau, tu peux très bien faire un tableau[2]... Je ne sais pas si ça répond à ta question (ça ne retourne pas l'adresse mais l'objet stocké à cette adresse). 2/variable tabsite might not have been initialized C'est une erreur classique qui arrive parfois quand tu instancies une variable dans un bloc. Si je traduis, ça veut dire "ta variable 'tabsite' peut ne pas avoir été initialisée". Voici un exemple de cas dans lequel on a cette erreur:
...
public String actionBidon(String chaine) {
if(chaine.equals("toto")) {
String retour = "valide!";
}
return retour;
}
...
Dans cet exemple, tu vois bien que si tu ne passes pas dans la condition, ta variable retour n'a pas été instanciée ni initialisée, et donc ça ne peut que planter. Tu as la même erreur si tu as le code suivant:
...
public String actionBidon(String chaine) {
String retour;
if(chaine.equals("toto")) {
retour = "valide!";
}
return retour;
}
...
Par contre, si tu initialises ta variable en dehors de ta condition, tu n'auras pas d'erreur !
...
public String actionBidon(String chaine) {
String retour="invalide";
if(chaine.equals("toto")) {
retour = "valide!";
}
return retour;
}
...
En espérant que ça t'aide ! |