Lettera maiuscola: true or false?

di il
5 risposte

Lettera maiuscola: true or false?

Sto cercando di scrivere un metodo che controlla se la prima lettera di una parola e' maiuscola, e poi ritorna true o false a secondo se lo e'
public boolean firstLetter(String s)
o provato a usare il metodo charAt(0) ma senza successo.

mi potreste dare qualche consiglio o esempio di come fare?

Grazie

5 Risposte

  • Re: Lettera maiuscola: true or false?

    aMassimo ha scritto:


    Sto cercando di scrivere un metodo che controlla se la prima lettera di una parola e' maiuscola, e poi ritorna true o false a secondo se lo e'
    public boolean firstLetter(String s)
    o provato a usare il metodo charAt(0) ma senza successo.
    Innanzitutto, per iniziare, il tuo metodo meglio con nome es. isFirstLetterUppercase piuttosto che firstLetter (che farebbe pensare altro).

    Poi comunque charAt va BENE ma: a) va testata prima la lunghezza della stringa, se è vuota (""), NON puoi invocare charAt(0) e b) se puoi invocarlo, allora ottieni il carattere e spetta a te testare se è una lettera maiuscola. Puoi farlo verificando se il carattere è nel range delle lettere maiuscole (da 'A' a 'Z' compresi) oppure con il Character.isUpperCase(char ch)
  • Re: Lettera maiuscola: true or false?

    Grazie per la suggestioni ma sono ancora un principiante e non conosco molto questi metodi. Non so se devo usare un loop o altro. Se puoi fare un esempio o un link sarebbe piu utile.
  • Re: Lettera maiuscola: true or false?

    Hai provato a usare Character.isUpperCase come ti è stato consigliato? Non serve un loop in quel caso. Devi solo richiamare quel metodo all'interno del tuo, facendo prima il controllo sulla lunghezza della stringa che @andbin ti ha suggerito.

    Se il problema è che non hai capito cosa fa il metodo (anche se il nome è chiaro) puoi guardare .
  • Re: Lettera maiuscola: true or false?

    Non capisco cosa vuoi dire con "prima il controllo sulla lunghezza della stringa". Comunque credo di averlo risolto.
    public boolean isFirstLetterUppercase(String s)
       {
          if(Character.isUpperCase(s.charAt(0))) 
          {
             return true;
          }
          else
          {
             return false;
          }
       }
    il codice ha compilato senza errori e ho provato il metodo con un variabile e sembra di funzionare.

    Grazie per i suggerimenti
  • Re: Lettera maiuscola: true or false?

    aMassimo ha scritto:


    Non capisco cosa vuoi dire con "prima il controllo sulla lunghezza della stringa".
    Se la stringa è "vuota" ( ovvero "" cioè lunghezza 0 ), NON puoi invocare charAt(0) (causerebbe un bel StringIndexOutOfBoundsException) perché caratteri non ce ne sono. Quindi va prima testato il length() della stringa. Se è 0 puoi ritornare tranquillamente false, altrimenti procedi con il resto.

    aMassimo ha scritto:


    public boolean isFirstLetterUppercase(String s)
       {
          if(Character.isUpperCase(s.charAt(0))) 
          {
             return true;
          }
          else
          {
             return false;
          }
       }
    Sì, di per sé è corretto (salvo il test del length come caso particolare). Ma si può anche abbreviare senza avere if-else.
Devi accedere o registrarti per scrivere nel forum
5 risposte