Débutant en JAVA - Java - Programmation
Marsh Posté le 21-01-2009 à 12:55:13
http://java.sun.com/javase/6/docs/ [...] ng.Object) tu peux également passer par une chaîne de caractères contenant toutes les voyelles et http://java.sun.com/javase/6/docs/ [...] rSequence) ou http://java.sun.com/javase/6/docs/ [...] dexOf(int)
Et accessoirement, plutôt que de faire des comparaisons moches pour savoir si un caractère est en majuscule ou en minuscule, http://java.sun.com/javase/6/docs/ [...] Case(char) et http://java.sun.com/javase/6/docs/ [...] Case(char)
Marsh Posté le 21-01-2009 à 13:07:58
lezenfr a écrit : dois-je tester avec un IF charque caractére avec ces 5 voyelle |
La réponse est oui, et puis 6 if (et pas 5 ), c'est pas la mort ...
Spoiler : Après peut-être qu'en faisant une analyse combinatoire, on peut trouver une suite d'opération logique pour déterminer si un caractère donné est une voyelle ou non..................:pt1cable: |
EDIT: euh 12 if en fait (maj + min)
re-EDIT: ah oui, sinon, j'y pensais, souhaites-tu gérer les voyelles accentuées ? parce que si oui, les if ça risque d'être un peu moche ...
Marsh Posté le 21-01-2009 à 13:32:24
superbob56 a écrit : La réponse est oui, et puis 6 if (et pas 5 ), c'est pas la mort ...
|
merci de ta réponse, oui je doit tester même les voyelles accentuées, avec des IF sa devient un peu LOURD,
si ta une idée, elle sera la bienvenue. merci d'avance.
Marsh Posté le 21-01-2009 à 13:39:46
superbob56 a écrit : La réponse est oui, et puis 6 if (et pas 5 ), c'est pas la mort ...
|
lezenfr a écrit : |
Marsh Posté le 21-01-2009 à 13:58:12
lezenfr a écrit : |
Ben si tu dois tester les voyelles accuentuées, utilise la méthode de Masklinn, définis une chaîne de caractères contenant tous tes caractères, et teste avec http://java.sun.com/javase/6/docs/ [...] ng.Object) ou http://java.sun.com/javase/6/docs/ [...] rSequence)
Masklinn je comprends ta réaction, mais bon, parfois quelques if valent mieux qu'un long discours (autant pour la compréhension des gens qui risquent lire ce code que pour les aspects perfs) ...
Mais bon dans le cas présent je déconseille vraiment les if vu le nombre de caractères à tester ...
Marsh Posté le 21-01-2009 à 14:09:11
superbob56 a écrit : Masklinn je comprends ta réaction, mais bon, parfois quelques if valent mieux qu'un long discours (autant pour la compréhension des gens qui risquent lire ce code que pour les aspects perfs) ... |
J'ai du mal à voir en quoi
Code :
|
est plus lisible que
Code :
|
Ou plus maintenable, et question performance c'est très débattable (sauf si elle est optimisée par le compilo -- ce dont je doute, la suite de OR dans le if va s'exécuter en O(n) avec shortcutting et une très faible constante, un test de contenu dans un hashset c'est O(1) avec une plus grosse constante, et pour un treeset c'est du O(log n))
Marsh Posté le 21-01-2009 à 14:36:35
Ne me fais pas dire ce que je n'ai pas dis ...
En l'occurence ce que j'ai dit c'est la chose suivante :
Citation : Mais bon dans le cas présent je déconseille vraiment les if vu le nombre de caractères à tester ... |
Après concernant les performance entre un if contenant 5 or, et un contains (faisant un ou plusieurs appels de méthodes à partir de classes définies par des interfaces, ...), en effet c'est débattable ...
EDIT: mais bon, on ne va pas en débattre 107 ans car au final, ce que j'ai dit c'est qu'il fallait mieux utiliser ta méthode vu le nombre de caractères à tester ...
Marsh Posté le 21-01-2009 à 19:10:48
Merci a tous,
comment mettre ce test en tanque methode, que j'appelle dés que j'ai besoin.
je suis un peu perdu
Merci d'avance.
Marsh Posté le 22-01-2009 à 17:02:57
lezenfr a écrit : Merci a tous, |
On ne va pas non plus faire tout le boulot à ta place...
Si tu ne sais pas comment faire ça, ça veut dire que tu manques sérieusement de connaissances de BASE en Java.
Dans ce cas, je te conseille de lire un (ou plusieurs) des tutoriaux conseillés sur le forum ...
http://forum.hardware.fr/hfr/Progr [...] 8709_1.htm
Marsh Posté le 22-01-2009 à 23:04:01
J'ai bien précisé que je débute en java, j'ai ecris déja mon programme, mais l'appel de la methode coince. !!!
merci Komeme
Marsh Posté le 23-01-2009 à 09:27:40
lezenfr a écrit : J'ai bien précisé que je débute en java, j'ai ecris déja mon programme, mais l'appel de la methode coince. !!! |
Même si nous on a de la bouteille en java, on aurait quand même besoin de voir le code que tu as écrit pour voir ce qui cloche
Marsh Posté le 24-01-2009 à 17:02:47
Solution trouvé, merci, les gars.
Je me suis cassé la tête jusqui'a 04h du matin tout est rentré dans l'ordre.
Marsh Posté le 24-01-2009 à 22:34:51
lezenfr a écrit : Solution trouvé, merci, les gars. |
Solution qui est ?
Sinon moi j'aurais fais une regex mais c'est peut être overkill
Marsh Posté le 21-01-2009 à 12:20:34
Bonjour,
Je début avec JAVA, j'ai des petites lacunes avec ce langage.
Voila je doit saisire une chaine de caractéres et les renvoyer (seule les voyelles) dans un tableau, donc je devrais tester chaque caractére avant de le renvoyer dans le tableau.
example: la chaine 'bonjour' renvoie dans le tableau '_''o''_''_''o''u''_'.
-- Si char = voyelle ------> char dans Tab[j] sinon '_' dans Tab[j], et comme il y on a 6 voyelles (a, e, i, o, u, y) dois-je tester avec un IF charque caractére avec ces 5 voyelle ou y at-il une autre methode de le faire.
Pour tester si un caractére est majuscule ou minuscule (en utilisant le code ASCII), je code:
if (char > 'A' && char <'Z') alors char est majuscule // test pour les majuscules
if (char > 'a' && char <'z') alors char est majuscule // test pour les minuscule[/i]
mais pour tester des voyelles, je ne sais pas faire !!!!
Merci de m'aider.
Message édité par lezenfr le 21-01-2009 à 12:24:05