Java et string
Fermé
jlag
-
8 mai 2008 à 07:30
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 9 mai 2008 à 19:55
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 9 mai 2008 à 19:55
A voir également:
- Java et string
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
6 réponses
C'est bon j'ai trouvé.
Sinon j'ai un petit probleme. Je déclare une string dans le main, et le compilateur refuse de les prendre après, toujours dans le main, en justifiant :"variable might not have been initialized
Sinon j'ai un petit probleme. Je déclare une string dans le main, et le compilateur refuse de les prendre après, toujours dans le main, en justifiant :"variable might not have been initialized
Bonjour,
Même si tes deux variables sont effectivement dans la même classe, il faut que "sites" soit visible dans le bloc de "tabsites". A mon avis ton problème est que "sites" doit être instancié dans une méthode, et que tu essaies de le lire à l'extérieur de cette méthode.
Pour avoir une visibilité dans toute la classe, déclare "sites" comme attribut:
import...
public Class MaClasse{
private String sites;
public void maMethode(){
sites = JOptionPane.showInputDialog("Entrer un ou plusieurs sites a organiser");
}
public void maMethode2(){
char[] tabsites = sites.toCharArray();
}
}
Même si tes deux variables sont effectivement dans la même classe, il faut que "sites" soit visible dans le bloc de "tabsites". A mon avis ton problème est que "sites" doit être instancié dans une méthode, et que tu essaies de le lire à l'extérieur de cette méthode.
Pour avoir une visibilité dans toute la classe, déclare "sites" comme attribut:
import...
public Class MaClasse{
private String sites;
public void maMethode(){
sites = JOptionPane.showInputDialog("Entrer un ou plusieurs sites a organiser");
}
public void maMethode2(){
char[] tabsites = sites.toCharArray();
}
}
Merci Marco, c'est effectivement un probleme de bloc, mais un peu plus compliqué...
En fait j'ai trois variables que je devais initialiser :
- à la déclaration
- à un moment précis de l'execution
et avec les bloc elles ne pouvaient pas etre visibles entre elles comme il l'aurait fallu....
Je vais m'en tirer en créant des doublons, a moins que quelqu'un ai une idée pour déclarer et initialiser les variables suivantes sur 2 lignes :
String rep = JOptionPane.showInputDialog("Entrer un ou plusieurs sites a organiser");
char tabrep[]=rep2.toCharArray();
inputValue = JOptionPane.showInputDialog("Entrer un choix entre 1 et 7");
En fait j'ai trois variables que je devais initialiser :
- à la déclaration
- à un moment précis de l'execution
et avec les bloc elles ne pouvaient pas etre visibles entre elles comme il l'aurait fallu....
Je vais m'en tirer en créant des doublons, a moins que quelqu'un ai une idée pour déclarer et initialiser les variables suivantes sur 2 lignes :
String rep = JOptionPane.showInputDialog("Entrer un ou plusieurs sites a organiser");
char tabrep[]=rep2.toCharArray();
inputValue = JOptionPane.showInputDialog("Entrer un choix entre 1 et 7");
1. Quelqu'un sait comment aller à l'adress x d'un tableau (x étant un entier positif ?
2. J'ai un autre probleme :
mon source
95 String tabsites[]; //1 tableau contenant les sites choisis
96 tabsites[0] = "0";
et le compilateur me renvoie :
variable tabsite might not have been initialized
j'y comprends rien.
2. J'ai un autre probleme :
mon source
95 String tabsites[]; //1 tableau contenant les sites choisis
96 tabsites[0] = "0";
et le compilateur me renvoie :
variable tabsite might not have been initialized
j'y comprends rien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
9 mai 2008 à 02:16
9 mai 2008 à 02:16
Salut,
L'initialisation d'un tableau est l'operation dont le resultat est la creation d'un objet tableau. Les tableaux Java sont de taille fixe. L'initialisation devra donc indiquer la taille du tableau.
Syntaxe :
tabx = new String[taille];
taille est le nombre d'elements maxi.
Exemples :
tabx = newString [30]; tabx poura contenir 30 elements NUMEROTES de 0 a 29.
autre forme :
String[] tabx;
tabx = new String[30];
Comment acceder a un element apres "chargement" du tableau (par exemple le 6eme):
String un_element = tabx[5];
Cordialement.
Dan.
L'initialisation d'un tableau est l'operation dont le resultat est la creation d'un objet tableau. Les tableaux Java sont de taille fixe. L'initialisation devra donc indiquer la taille du tableau.
Syntaxe :
tabx = new String[taille];
taille est le nombre d'elements maxi.
Exemples :
tabx = newString [30]; tabx poura contenir 30 elements NUMEROTES de 0 a 29.
autre forme :
String[] tabx;
tabx = new String[30];
Comment acceder a un element apres "chargement" du tableau (par exemple le 6eme):
String un_element = tabx[5];
Cordialement.
Dan.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
9 mai 2008 à 19:55
9 mai 2008 à 19:55
Hello,
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...
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).
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:
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:
Par contre, si tu initialises ta variable en dehors de ta condition, tu n'auras pas d'erreur !
En espérant que ça t'aide !
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 !