jsp trier tab de string - Java - Programmation
Marsh Posté le 11-08-2005 à 17:49:57
trie
for (int index = 0; index < nom.length - 1; index++)
{
int min = index;
for (int j = index + 1; j < nom.length; j++){
if (nom[j] < nom[min])
min = j;
String temp = nom[min];
nom[min] = nom[index];
nom[index] = temp;
}
}
if (nom[j] < nom[min])
<---->
*** Error: The type of this expression, "String", is not numeric.
Comment?? faire
Marsh Posté le 11-08-2005 à 17:55:03
Implémente un tri bulle à la main, ça ira plus vite
Marsh Posté le 11-08-2005 à 18:00:15
puisqueturepondspas a écrit : Bonjour |
T'as pensé à importer la classe Arrays dans ta JSP? ou a utiliser son chemin complet?
Parce que par défaut ta JSP, comme une classe Java classique, n'a pas accès à java.util.Arrays...
Soit tu utilises
<%@page import="java.util.Arrays"%> |
en tête de ta JSP
Soit tu appelles
java.util.Arrays.sort(nom) |
mareek a écrit : Implémente un tri bulle à la main, ça ira plus vite |
C'est effectivement du Java et pas un langage haut niveau comme Python ou Ruby ( ) mais faut quand même pas abuser, c'est en C/C++ que tu te fais chier à implémenter tes tris (et encore, les conteneurs boost ou STL doivent bien avoir des tris en natif)
Marsh Posté le 11-08-2005 à 18:13:45
for( int a = 0 ; a < nom.length - 1 ; a++)
{
int indMin = a;
// trouver indMin
for (int j = a + 1 ; j < nom.length ; j++){
if ( nom[j].compareTo(nom[indMin]) < 0)
indMin = j;
} // fin for j
// echanger s'il ya lieu
if (indMin != a ){
String tempo = nom[a];
nom[a] = nom[indMin];
nom[indMin] = tempo;
String temp = d[a];
d[a] = d[indMin];
d[indMin] = temp;
} // fin if
} // fin for a
Marsh Posté le 11-08-2005 à 18:14:12
masklinn a écrit : C'est effectivement du Java et pas un langage haut niveau comme Python ou Ruby ( ) mais faut quand même pas abuser, c'est en C/C++ que tu te fais chier à implémenter tes tris (et encore, les conteneurs boost ou STL doivent bien avoir des tris en natif) |
Enfin bon, un tri bulle c'est tout de suite 10 lignes de code, c'est pas comme s'il se retapait le protocole TCP/IP. Perso, j'ai générallement plus vite fait d'implémenter mes propres tris que d'utiliser les trucs inclus au langage ou dans des librairies.
Marsh Posté le 11-08-2005 à 18:26:08
mareek a écrit : Perso, j'ai générallement plus vite fait d'implémenter mes propres tris que d'utiliser les trucs inclus au langage ou dans des librairies. |
Sans même mentionner le fait que les tris des libs standards sur les conteneurs courants (ce qu'est un array java) sont plus que probablement codés en natif, donc plus rapides que ton recodage, j'ai du mal à voir comment tu fais hors langages bas niveau compilés (C/C++)
À part bien sûr si tu as des tris bien spécifiques, mais en python réimplémenter un tri à bulles ou un qsort c'est 15-20 fois plus long qu'utiliser mes méthodes sort() des conteneurs qui l'ont
Marsh Posté le 12-08-2005 à 02:28:33
mareek a écrit : Enfin bon, un tri bulle c'est tout de suite 10 lignes de code, c'est pas comme s'il se retapait le protocole TCP/IP. Perso, j'ai générallement plus vite fait d'implémenter mes propres tris que d'utiliser les trucs inclus au langage ou dans des librairies. |
Arrays.sort(machin[]);
et en plus, c'est même pas buggé.
Marsh Posté le 12-08-2005 à 10:08:24
[citation]
if (nom[j] < nom[min])
<---->
*** Error: The type of this expression, "String", is not numeric.
[/citation]
Ne serait-il pas plus judicieux de faire :
Code :
|
von courage
Marsh Posté le 12-08-2005 à 16:18:08
the real moins moins a écrit : Arrays.sort(machin[]); |
Et si tu veux trier un array d'objets sur un champ donné ? (genre trier des salariés par leur prénom)
Marsh Posté le 12-08-2005 à 16:35:04
ReplyMarsh Posté le 12-08-2005 à 17:10:50
souk a écrit : Arrays.sort(salaries[], new FirstNameComparator()); ? |
C'est quoi FirstNameComparator ?
Marsh Posté le 12-08-2005 à 17:21:36
public class FirstNameComparator implements Comparator { |
Marsh Posté le 12-08-2005 à 17:29:10
the real moins moins a écrit :
|
Créer un classe pour comparer 2 chaines de caractères, c'est vrai que c'est nettement plus simple que de créer une fonction de tri
Marsh Posté le 12-08-2005 à 17:44:27
Ca s'appelle de la programmation orientée objet
Marsh Posté le 12-08-2005 à 17:56:21
nerisson a écrit : Ca s'appelle de la programmation orientée objet |
Ou du bloatware, ça dépends du point de vue
Marsh Posté le 12-08-2005 à 18:17:43
mareek a écrit : Créer un classe pour comparer 2 chaines de caractères, c'est vrai que c'est nettement plus simple que de créer une fonction de tri |
oui.
Marsh Posté le 12-08-2005 à 18:18:04
mareek a écrit : Ou du bloatware, ça dépends du point de vue |
vendredi
Marsh Posté le 12-08-2005 à 21:41:27
mareek a écrit : Créer un classe pour comparer 2 chaines de caractères, c'est vrai que c'est nettement plus simple que de créer une fonction de tri |
rassures moi, tu trolles là
Marsh Posté le 15-08-2005 à 20:52:15
mareek a écrit : Ou du bloatware, ça dépends du point de vue |
oui et imagine que tu veuille que l'ordre de tri soit paramétrable, ou que tu puisses triller sur autre chose que le nom, tout en laissant à l'utilisateur le choix de ce sur quoi il veut triller...tu fais quoi là ?
un Comparator c très pratique
Marsh Posté le 11-08-2005 à 17:32:07
Bonjour
debutante en jsp
comment utiliser sort de Arrays
j'ai creer un tableau
String[] nom = new String[zcount];
je le remplis
for (int i = 0; i < zcount; i++)
{
myname = m.getItem(znodo, zsubsesion, znodo, str, "STD_N_FAMILY_NAME_1" ) + " " + m.getItem (znodo, zsubsesion, znodo, str, "STD_N_FIRST_NAME" );
nom[i] = myname;
}
comment faire pour le trier
Arrays.sort(nom); erreur je peux pas utiliser Arrays, je sais pas comment l'utiliser ds une page jsp?? et je peux pas creer classe ds ma page jsp
help