Fonction qui retourne un booléen

Fonction qui retourne un booléen - Java - Programmation

Marsh Posté le 06-01-2008 à 02:33:16    

Bonjour ,
 
J ' espere que le boss de java est présent dans l ' arène  :jap: , je n ' arrive pas à réaliser une fonction qui a pour résultat un booléen (je ne comprends pas trop le principe).
 
[i]Sujet :[/i]
En utilisant une boucle , saisir 5 caractères et donner en résultat un message précisant si ce caractère est majuscule ou non.La fonction utilisée est Majuscule , elle retourne un booléen.
 
Voici un résultat d' Execution  :
 
Saisir cinq caractères
 
Saisir un caractère 1 :a
ce caractère n' est pas majuscule
 
saisir un caractère 2 :B
ce caractère est une majuscule
 
Saisir un caractère 1 : i
ce caractère n' est pas majuscule
 
saisir un caractère 2 :F
ce caractère est une majuscule
 
Saisir un caractère 1 :z
ce caractère n' est pas majuscule
 
 
 
 
Voici ce que mon petit cerveau a sorti :
 

Code :
  1. public class Majuscule {
  2.    
  3.     /** Creates a new instance of Majuscule */
  4.     static boolean Majuscule (char c ) {
  5.        
  6.        boolean majuscule ;
  7.        majuscule = false ;
  8.      
  9.      
  10.        if ( (((int) c <= 90) || ((int)  c >=65) )) {
  11.            System.out.println ( "ce caractére est une majuscule " );
  12.           majuscule = true ;
  13.          
  14.        } else  {
  15.            if (((int )c >=97) || ((int)c <= 122 )){
  16.                System.out.println ("Ce caractère n ' est pas une majuscule " );
  17.                majuscule = false ;
  18.              
  19.            }
  20.          
  21.        }
  22.        
  23.         return majuscule ;
  24.        
  25.     }
  26.    
  27.     public static void main (String  [] args ){
  28.         System.out.println ("Debut - Execution" );
  29.         System.out.println ("Fonction est  \" majuscule\"  "   );
  30.        
  31.         char c ;
  32.        
  33.         for (int i = 1 ; i <= 5 ; i++){
  34.             System.out.println ("Saisir le caractère " + i );
  35.             c = Lire.caractere();
  36.            
  37.             System.out.println ( Majuscule (c));
  38.            
  39.         }
  40.        
  41.     }
  42.    
  43. }


 
 
 
Mon problème est que la fonction doit retourner un booléen , donc verifier si le caractère saisi est majuscule ou non , et comment retourner ce resultat???
Je dois utiliser une operation de Cast pour récupérer  la valeur entière du caractère.Je ne dois pas utiliser d ' autre fonction propre à java.
Je pense ne pas etre loin du résultat mais peut etre trop loin   :whistle:  
 
Merci
 
 
 


Message édité par racoboss le 06-01-2008 à 02:38:33
Reply

Marsh Posté le 06-01-2008 à 02:33:16   

Reply

Marsh Posté le 06-01-2008 à 15:05:03    

Bonjour ,
 
ca a l ' air d etre un peu endormi par ici lol

Reply

Marsh Posté le 06-01-2008 à 22:01:59    

Regarde de ce coté...
http://java.sun.com/j2se/1.3/docs/ [...] Case(char)

 

Edit j'avais pas lu tout, essaye en utilisant :

 

if (c >= 'A' && c <= 'Z') return true;
else return false;


Message édité par Kragorn le 06-01-2008 à 22:07:17
Reply

Marsh Posté le 07-01-2008 à 04:29:59    

salut ,  
 
merci pour ta reponse , mais je n y arrive pas , pourrais tu me donner la réponse si possible , c' est pour mes revisions et on ne l ' a pas corrigé en cours.
 
merci

Reply

Marsh Posté le 07-01-2008 à 08:03:00    

Code :
  1. /** Creates a new instance of Majuscule */
  2.    static boolean Majuscule (char c ) {
  3.      
  4.       boolean majuscule ;
  5.       majuscule = false ;
  6.    
  7.    
  8.       if ( (((int) c <= 90) || ((int)  c >=65) )) {
  9.           System.out.println ( "ce caractére est une majuscule " );
  10.          majuscule = true ;
  11.        
  12.       } else  {
  13.           if (((int )c >=97) || ((int)c <= 122 )){
  14.               System.out.println ("Ce caractère n ' est pas une majuscule " );
  15.               majuscule = false ;
  16.            
  17.           }
  18.        
  19.       }
  20.      
  21.        return majuscule ;
  22.      
  23.    }
 
Citation :


Mon problème est que la fonction doit retourner un booléen , donc verifier si le caractère saisi est majuscule ou non , et comment retourner ce resultat???

 

et alors ? ça retourne bien un boolean ton truc là. A part le fait que c'est marqué que static boolean Majuscule est sensé créer une nouvelle instance de Majuscule... Avec cette signature, c'est pas le bon commentaire.


Message édité par brisssou le 07-01-2008 à 08:03:19

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 07-01-2008 à 13:24:06    

Tu dois faire quoi exactement ? Si elle doit juste retourner un booléen, ça devrait fonctionner avec mon code. Il faudrait définir le comportement exacte, que se passe-t-il lorsque le caractère est autre chose qu'une lettre ? Ca doit retourner faux ? Si oui le code est bon.
 

Code :
  1. static boolean estMajuscule(char c){
  2.     if (c >= 'A' && c <= 'Z') return true;
  3.     else return false;
  4. }

Reply

Marsh Posté le 07-01-2008 à 18:47:38    

Bonjour,
J'aurais plutot vu ca :
 

Code :
  1. private static final String MAJUSCULES = "ABC...XYZ";
  2. private static final String MINUSCULES = "abc...xyz";
  3. static boolean estMajuscule(char c){
  4. // Si le caractere est un caractere du type - ,.;:!)('"_  
  5. // est-ce une MAJUSCULE ???
  6. // En fonction de la réponse, le code n'est pas le même ...  
  7.    boolean estMajuscule = false;
  8.    if ( MAJUSCULES.indexOf(c) >=0 ) {
  9.    System.out.println ( "ce caractére est une majuscule " );
  10.    estMajuscule = true;
  11.    } else if ( MINUSCULES.indexOf(c) >= 0 ) {
  12.    System.out.println ("Ce caractère n ' est pas une majuscule " );
  13.        estMajuscule = false;
  14.    } else {
  15.    // Ce n'est pas un caractere ALPHA ...
  16.    }
  17.    return estMajuscule;
  18. }


Enfin, c'est comme cela que je procederais.
Cordialement.


Message édité par yescat le 07-01-2008 à 21:44:30

---------------
Mieux vaut tard que jamais!
Reply

Marsh Posté le 07-01-2008 à 18:54:10    

tiens, je vais l'envoyer à WTF celle là.

 

RTFM bon sang !


Message édité par Taz le 07-01-2008 à 18:55:39
Reply

Marsh Posté le 07-01-2008 à 19:41:24    

Oui TAZ?


---------------
Mieux vaut tard que jamais!
Reply

Marsh Posté le 08-01-2008 à 11:02:52    

genre la doc de java.lang.Character ?

Reply

Marsh Posté le 08-01-2008 à 11:02:52   

Reply

Marsh Posté le 08-01-2008 à 22:26:54    

Taz a écrit :

genre la doc de java.lang.Character ?


Bonsoir,
C vrai, je n'avais pas poussé plus loin le sujet. Il existe des méthodes
pour faire le boulot ... mea-culpa !  :jap:  
Par contre, la méthode isLetter de java.lang.Character, n'est pas trés
claire ...  Et je ne sais pas ce que veut exactement notre ami racoboss, comme plage(s) de caractères autorisés!?
 
Par contre, rien ne l'empêche d'emcapsuler son traitement dans une Classe dédiée,
avec les methodes qu'il faut, et non un "System.out.println ( Majuscule (c));" !!!
 
J'en ai profité pour lire (en partie...) :
-  L'art de poster une question
- Règles du forum Programmation
- Le topic-passage-obligé pour débutants !
Ce n'est pas inutile!  ;)  
 
Cordialement.

Reply

Marsh Posté le 08-01-2008 à 23:55:05    

Le monsieur il a dit qu'il ne pouvait pas utiliser l'API Java... j'avais déjà poster le lien vers la méthode Character.isUpperCaseLetter(char c).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed