Java:tries les chiffres

Résolu/Fermé
domxaline - 9 avril 2012 à 12:19
 Utilisateur anonyme - 9 avril 2012 à 19:54
Bonjour,
mon prg trie pas les chiffres

public class Test 
{
  public static void main (String[]args)
  {
	  int number[]={55,40,80,65,71};
	  int n=number.length;//array length
	  System.out.print("given list:");
	  for(int i=0;i<n;i++)
	  {
		  System.out.print(" "+number[i]);
	  }
	  System.out.println(" ");
	  //sorting begins
	  for(int i=0;i<n;i++)
	  {
		  for(int j=i+1;j<n;j++)
			  if(number[i]<number[j])
			  {
				//interchange values
				  int temp=number[i];
				  number[i]=number[j];
				  number[i]=temp;
			  }
	  }
	  //sorting ends
  System.out.print("Sorted list:");
  for(int i=0;i<n;i++)
  {
	  System.out.print(" "+number[i]);
  }
  System.out.println("");
  }
}

resultat est
given list: 55 40 80 65 71
Sorted list: 55 40 80 65 71
veuillez m'aider svp

A voir également:

3 réponses

Utilisateur anonyme
9 avril 2012 à 12:27
l erreur est dans cette ligne :

Erreur : for(int j=i+1;j<n;j++)
il faut que la variable j s'arrête a j=n-1
Solution : for(int j=i+1;j<n-1;j++)
1
j'ai compris mon erreur
pour trouver de petit chiffre au grand il faut utiliser
for(int i=0;i<n;i++)
	  {
		  for(int j=i+1;j<n;j++)
			  if(number[i]>number[j])
			  {
				//interchange values
				  int temp=number[i];
				  number[i]=number[j];
				  number[j]=temp;
			  }
	  }

pour trouver de grand chiffre au petit il faut utiliser
for(int i=0;i<n;i++)
	  {
		  for(int j=i+1;j<n;j++)
			  if(number[i]<number[j])
			  {
				//interchange values
				  int temp=number[i];
				  number[i]=number[j];
				  number[j]=temp;
			  }
	  }


merci beaucoup
1
Utilisateur anonyme
9 avril 2012 à 19:54
Salut,

Sauf s'il y a obligation d'écrire la séquence de tri, il existe la méthode 'sort' de la classe Arrays qui permet de trier un tableau en ordre croissant:

 import java.util.Arrays;
.......

 //sorting begins
         Arrays.sort(number); //Tri du tableau en ordre croissant   
 //sorting end


Contrainte: le tableau doit contenir des données comparables

Cordialement,

Dan
0