Var might not have been ini...java
Résolu
findizy
Messages postés
69
Statut
Membre
-
sandul Messages postés 4013 Statut Membre -
sandul Messages postés 4013 Statut Membre -
Bonjour,
Je ne vois pas comment modifier mon code pour ne plus avoir l'erreur de compilation suivante à la ligne 20
variable tab might not have been initialized tab = new int[tab.length]
Merci d'avance
Voila mon code:
^
Je ne vois pas comment modifier mon code pour ne plus avoir l'erreur de compilation suivante à la ligne 20
variable tab might not have been initialized tab = new int[tab.length]
Merci d'avance
Voila mon code:
import ordinateur.*;
import objetMathematique.*;
class exind13_103bis
{
public static int compterNbrDeNbrImpairsApresNbrPairs(int [] tab)
{
int i = 0; //compteur
for(int a = 0; a < tab.length - 1; a++)
{
if(((tab [a]%2) == 0) && ((tab [a+1]%2) == 1))
{ i++; }
}
return i;
}
public static void main(String [] args)
{
int i= 0; //compteur de nombre
int [] tab;
tab = new int[tab.length];
int j = tab.length;
int k = 0; //élément du tableau
int b = tab[k];
int c = 0; //numéro de l'élément*/
System.out.println("Veuillez entrer la taille de votre tableau");
j = clavier.lireUnInt();
for(j=0; j < tab.length; j++)
{ b=tab[k+1];
System.out.println("Veuillez rentrer une valeur pour l'element "+c);
b = clavier.lireUnInt();
c = c + 1;
}
System.out.println("Voici votre tableau");
for(int t = 0; t < tab.length; t++)
{
System.out.println(tab[t]);
}
i = compterNbrDeNbrImpairsApresNbrPairs(tab);
System.out.print("Dans ce tableau on a "+i);
System.out.print(" fois un nombre pair suivi par un nombre impair.");
}
}
^
A voir également:
- Var might not have been ini...java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
4 réponses
Bonjour,
Que souhaitais tu faire avec les deux lignes de code suivantes ?
int [] tab;
tab = new int[tab.length];
La première déclare un tableau d'entiers ; dont l'espace mémoire n'est pas encore alloué.
Dans la seconde, tu tente d'allouer la mémoire, mais tab.length est inutilisable car la mémoire n'est pas encore allouée ;
(C'est logique, tu ne peux pas récupérer la taile de qqch qui n'est pas encore alloué en mémoire...)
Bref, c'est incohérent et je ne comprends pas ce que tu souhaites faire.
Pourrais-tu expliquer ? Quelle taille de tableau souhaite tu allouer ?
Tu pourrais faire par exemple ca, pour allouer un tableau de 10 entiers :
tab = new int[10];
Cordialement,
Marc C.
Que souhaitais tu faire avec les deux lignes de code suivantes ?
int [] tab;
tab = new int[tab.length];
La première déclare un tableau d'entiers ; dont l'espace mémoire n'est pas encore alloué.
Dans la seconde, tu tente d'allouer la mémoire, mais tab.length est inutilisable car la mémoire n'est pas encore allouée ;
(C'est logique, tu ne peux pas récupérer la taile de qqch qui n'est pas encore alloué en mémoire...)
Bref, c'est incohérent et je ne comprends pas ce que tu souhaites faire.
Pourrais-tu expliquer ? Quelle taille de tableau souhaite tu allouer ?
Tu pourrais faire par exemple ca, pour allouer un tableau de 10 entiers :
tab = new int[10];
Cordialement,
Marc C.
en fait je voudrais que l'utilisateur choisisse lui meme la taille du tableau... puis qu'il choisisse les valeurs a mettre dedans... (avec la boucle for)
mon programme fonctionne deja quand je mets la taille et les elements par défaut.
mon programme fonctionne deja quand je mets la taille et les elements par défaut.
Hello again,
En fait je voudrais que l'utilisateur choisisse lui meme la taille du tableau... puis qu'il choisisse les valeurs a mettre dedans... (avec la boucle for)
Tu ne peux pas vraiment faire ceci avec un tableau (taille fixe, déclarée au moment de la compilation); par contre, une collection de type java.util.List ferait très bien l'affaire (nombre d'éléments non défini à la compilation). Tu peux utiliser un ArrayList (qui implémente l'interface List), par exemple.
++
En fait je voudrais que l'utilisateur choisisse lui meme la taille du tableau... puis qu'il choisisse les valeurs a mettre dedans... (avec la boucle for)
Tu ne peux pas vraiment faire ceci avec un tableau (taille fixe, déclarée au moment de la compilation); par contre, une collection de type java.util.List ferait très bien l'affaire (nombre d'éléments non défini à la compilation). Tu peux utiliser un ArrayList (qui implémente l'interface List), par exemple.
++
Bonjour,
"Tu ne peux pas vraiment faire ceci avec un tableau (taille fixe, déclarée au moment de la compilation);"
Désolé de contredire ; Mais en JAVA, il est possible de faire celà avec un tableau alloué dynamiquement.
-tu déclare ton tableau : int tableau[];
-tu fais saisir à l'utilisateur un entier dans une variable int saisieUtilisateur;
-et ensuite tu alloue ton tableau avec la saisie de l'user : tableau=new int[saisieUtilisateur];
Cordialement,
Marc
"Tu ne peux pas vraiment faire ceci avec un tableau (taille fixe, déclarée au moment de la compilation);"
Désolé de contredire ; Mais en JAVA, il est possible de faire celà avec un tableau alloué dynamiquement.
-tu déclare ton tableau : int tableau[];
-tu fais saisir à l'utilisateur un entier dans une variable int saisieUtilisateur;
-et ensuite tu alloue ton tableau avec la saisie de l'user : tableau=new int[saisieUtilisateur];
Cordialement,
Marc