Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1565 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Débutant en JAVA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Débutant en JAVA

n°1841047
lezenfr
Posté le 21-01-2009 à 12:20:34  profilanswer
 

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 cité 1 fois
Message édité par lezenfr le 21-01-2009 à 12:24:05
mood
Publicité
Posté le 21-01-2009 à 12:20:34  profilanswer
 

n°1841061
masklinn
í dag viðrar vel til loftárása
Posté le 21-01-2009 à 12:55:13  profilanswer
 

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)


Message édité par masklinn le 21-01-2009 à 13:00:27

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1841065
superbob56
Posté le 21-01-2009 à 13:07:58  profilanswer
 

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 ...

 

Message cité 1 fois
Message édité par superbob56 le 21-01-2009 à 13:10:44

---------------
By bob.
n°1841078
lezenfr
Posté le 21-01-2009 à 13:32:24  profilanswer
 

superbob56 a écrit :

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 ...
 


 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.

n°1841084
masklinn
í dag viðrar vel til loftárása
Posté le 21-01-2009 à 13:39:46  profilanswer
 

superbob56 a écrit :

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 ...
 


 [:$crounz]  

lezenfr a écrit :


 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.


 [:darksamus]


Message édité par masklinn le 21-01-2009 à 13:40:23

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1841103
superbob56
Posté le 21-01-2009 à 13:58:12  profilanswer
 

lezenfr a écrit :


 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.


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 ...
 


---------------
By bob.
n°1841108
masklinn
í dag viðrar vel til loftárása
Posté le 21-01-2009 à 14:09:11  profilanswer
 

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 :
  1. if(chr == 'a' || chr == 'à' || chr == 'e' || chr == 'é' || chr == 'è' || chr == 'ê' || chr == 'i' || chr == 'o' || chr == 'ô' || chr == 'u' || chr == 'y' [...]) {
  2.    // voyelle
  3. } else {
  4.    // consonne
  5. }


est plus lisible que

Code :
  1. if(VOWELS.contains(chr)) {
  2.    // voyelle
  3. } else {
  4.    // consonne
  5. }


[:petrus75]

 

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))


Message édité par masklinn le 21-01-2009 à 14:11:52

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1841126
superbob56
Posté le 21-01-2009 à 14:36:35  profilanswer
 

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 ...
 


Message édité par superbob56 le 21-01-2009 à 14:38:24

---------------
By bob.
n°1841278
lezenfr
Posté le 21-01-2009 à 19:10:48  profilanswer
 

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.

Message cité 1 fois
Message édité par lezenfr le 21-01-2009 à 22:52:46
n°1841702
superbob56
Posté le 22-01-2009 à 17:02:57  profilanswer
 

lezenfr a écrit :

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.

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


---------------
By bob.
mood
Publicité
Posté le 22-01-2009 à 17:02:57  profilanswer
 

n°1841841
lezenfr
Posté le 22-01-2009 à 23:04:01  profilanswer
 

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

n°1841901
Bidem
Posté le 23-01-2009 à 09:27:40  profilanswer
 

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.  !!!
merci Komeme


 
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 ;)

n°1842544
lezenfr
Posté le 24-01-2009 à 17:02:47  profilanswer
 

Solution trouvé, merci, les gars.  
Je me suis cassé la tête jusqui'a 04h du matin tout est rentré dans l'ordre.
 

n°1842622
zapan666
Tout est relatif
Posté le 24-01-2009 à 22:34:51  profilanswer
 

lezenfr a écrit :

Solution trouvé, merci, les gars.  
Je me suis cassé la tête jusqui'a 04h du matin tout est rentré dans l'ordre.
 


Solution qui est ?
 
Sinon moi j'aurais fais une regex mais c'est peut être overkill


---------------
my flick r - Just Tab it !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Débutant en JAVA

 

Sujets relatifs
débutant javaDébutant en JAVA
Java/Servlets - Cookie et authentification (débutant)[JAVA] GUI, listener et events (debutant)
besoin d'aide pour debutant javaHELP please, pb debutant de raccord entre bdd sql et programme java
Petit problème trivial avec les tableaux[debutant] java:NullPointerException
[java débutant] erreur afficahge Japplet[java débutant] écrire dans une Jlist depuis un objet indépendant
Plus de sujets relatifs à : Débutant en JAVA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR