petit problème de vecteur

Ulfguard
petit problème de vecteur

bonjour a tous,
voila j'ai un petit problème dans mon programme,

je travaille sur un programme qui gère une bases de donnée,
je fait une instruction qui récupère un vecteur qui contient les numéros des cocktails qui sont dans la BD,
j'aimerais bien comparer ces numéros pour trouver le plus grand et stoquer le plus grand dans un int, mais je n'arrive pas a transformer le contenu de mon vecteur (qui contient des objets(numéros) ) en int. voici le code :

Vector max = AccesGen.creerVecteur1Colonne(FenetreCon.getConnection(),reqmax);
int i;
int nbrmax = 0
for(i=0;i<=max.size();i++){
String temp = (String)max.elementAt(i);
int valeur = Integer.valueOf(temp);
if (nbrmax < valeur){
nbrmax = valeur;

}
}

je travaille sous éclipse et le programme me sort une 15aine d'erreur, je ne comprend pas.
si qqun sait comment faire ca serait gentil

merci d'avance

fredericmazue

D'abord faudrait plutôt faire

Integer.parseInt(temp);
des fois que par hasard, temps ne serait pas une chaîne correspondant à un entier.

Ensuite,
String temp = (String)max.elementAt(i);
Si je comprend bien max est le vector. Un vector ça contient des objets.
Avec une telle incantation, c'est à dire transtyper un objet en String brutalement (en invoquant indirectement la méthode toString de l'objet) je ne serais pas surpris qu'il y ait n'importe quoi dans la chaîne, en tout cas pas ce à quoi tu t'attends.

Enfin, tout ça ne sert à rien. Tu intérroges une base de données ? Alors formule ta requête afin qu'elle te retourne le MAX de tes numéros.
Comme ça tu n'auras rien à coder derrière :)

Ulfguard

bonjour, merci a toi d'avoir chercher,
mais j'ai trouvé la solution ,
c'étais pas tres compliqué en fait :)

juste modifier un ou deux trucs

merci encore

lrouleau

juste ue petite remarque concernant les best practices.
pas de .size() dans un for
pas de déclaration de variables dans une boucle.

fredericmazue

Quote:
juste ue petite remarque concernant les best practices.
pas de .size() dans un for
pas de déclaration de variables dans une boucle.

Tout à fait :)
Mais bon ce n'était pas sa question de départ :)
Tiens je vais même plus loin que toi. :)
"pas de déclaration de variables dans une boucle." encore moins quand la variable est un objet temporaire (temp ici)
Et tout recoder en C++ aussi ;)
Et encore mieux, ne rien coder du tout, puisque la base de données peut trouver la valeur maxi toute seule.
Mais je n'ai pas l'impression d'avor réussi à faire passer cette idée simple dans l'esprit d'Ulfguard