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