Forum Clubic

Tab cannot be resolved to a variable

bonjour

en exécutant mon programme,ce dernier me donne un message

“tab cannot be resolved to a variable”

veuillez m’aidez svp


public class Test3 
{
	public static void main(String[] args) 
	{
	 System.out.println("Saissisez la quantité de saisies:");
	 int t=Lire.entierInt();
	 double[] saisies=new double[t];
	for(int i=0;i<tab.length-1;i++)
	 {
		for(int j=0;j<tab.length-1;j++)
		 {
			 if(tab[j]>tab[j+1])
			 {
			  int temp=tab[i];
			  tab[i]=tab[i+1];
			  tab[i+1]=temp;
			 }
		 }
	 }
	 for(int i=0;i<tab.length;i++)
	 {
		 System.out.print(tab[i]+"-");
	 }
	}
}

peut être mon erreur est basique,veuillez m’aidez sans se fâcher svp

double[] saisies=new double[t]; 

=> je ne suis pas expert du java, mais j’ai l’impression que c’est cette variable (“saisies”) que tu aurais dû appeler “tab”… parce que ta variable tab n’est jamais déclarée et que cette variable saisies est déclarée mais jamais utilisée et que ces 2 variables semblent être des tableaux.

même en écrivant ainsi:

double tab=saisies;

toujours tab.length est soulingné

for(int i=0;i<tab.length-1; i++)

j’ai essayé ainsi


public static void main(String[] args) 
	{
	 System.out.println("Saissisez la quantité de saisies:");
	 int t=Lire.entierInt();
	 double[] saisies=new double[t];
	 int[]tab=new int[t];
	for(int i=0;i<tab.length-1;i++)

j’ai un display ainsi:
Saissisez la quantité de saisies:
5,2,3
Format numérique incorrect

:hello:

Edit : C’est quoi “5,3,2” ?

Le nombre que tu saisis, si oui, je doute que ça puisse passer, pour moi la VM Java doit l’interpréter comme un nombre à deux virgules, ce qui forcément pose problème. :neutre:

Je suis loin d’être un expert en Java, mais j’ai bien du mal a comprendre ce que doit faire ton code. :heink:
Edité le 04/07/2014 à 15:02

utilisateur doit saisir le nombre entier et le prg mis en ordre croissant
Edité le 04/07/2014 à 16:37

int t=Lire.entierInt();

Que fait la fonction entierInt() ?

Hello :hello:

Si j’ai bien compris ton code demande à l’utilisateur de saisir des nombres entiers et puis il les trie et les affiche ?
Si c’est le cas il manque 1 ou 2 choses :

D’abord tu demandes à l’utilisateur de saisir le nombre n d’entrées qu’il souhaite faire.
Tu te sers de n pour instancier ton tableau d’entiers.
Ensuite tu fais une boucle qui se répète n fois pour demander la saisie de chaque entier, que tu stock au fur et à mesure dans ton tableau.
Puis tu finis par trier ce tableau et afficher les valeurs.

Et pour ton code :


tab<i>

Je connais pas bien java mais tu es sûr que cette écriture est bonne ?


int temp=tab<i>;
tab[i]=tab[i+1];
tab[i+1]=temp;

Quand tu tries tes valeurs, il faut utiliser l’indice de la deuxième boucle, soit j, pour réaffecter les valeurs

J’espère que ça t’aideras un peu :slight_smile:
Edité le 05/07/2014 à 10:29