Advertisement
NelloRizzo

Estrazione di consonanti e vocali da una stringa

Nov 28th, 2018
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. package corso.java;
  2.  
  3. public class Program {
  4.  
  5.     // mette in minuscolo un carattere
  6.     // consideriamo che un carattere maiuscolo è compreso
  7.     // nell'intervallo [A-Z], dove A vale 65 e Z vale 90
  8.     // mentre i caratteri maiuscoli sono tra [a-z], dove
  9.     // a vale 97 e z vale 122, quindi per trasformare un carattere
  10.     // da maiuscolo a minuscolo occorre semplicemente
  11.     // aggiungere la differenza 'a' - 'A' (97 - 65 = 32)
  12.     static char minuscolo(char c) {
  13.         // un carattere può essere utilizzato per inizializzare un intero
  14.         // perché i char sono sottoinsieme di int
  15.         int risultato = c;
  16.         if (c >= 'A' && c <= 'Z')
  17.             risultato = c + ('a' - 'A');
  18.         // ma un intero non può essere utilizzato per
  19.         // inizializzare un carattere.
  20.         // L'inizializzazione
  21.         // di un carattere con un intero deve essere operazione
  22.         // dichiarata esplicitamente dal programmatore attraverso
  23.         // una operazione di conversione (cast) esplicita!!!
  24.         return (char) risultato;
  25.     }
  26.  
  27.     // per il maiuscolo è come sopra,
  28.     // con le ovvie considerazioni
  29.     static char maiuscolo(char c) {
  30.         int risultato = c;
  31.         if (c >= 'a' && c <= 'z')
  32.             risultato = c - ('a' - 'A');
  33.         return (char) risultato;
  34.     }
  35.  
  36.     // Data una stringa estrarre tutte le vocali
  37.     static String vocali(String s) {
  38.         String risultato = ""; // una stringa per memorizzare il risultato
  39.         // percorro la stringa
  40.         for (int indice = 0; indice < s.length(); ++indice) {
  41.             // prendo il carattere nella posizione corrente
  42.             char c = maiuscolo(s.charAt(indice));
  43.             // controllo che si tratti di una vocali
  44.             if (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U')
  45.                 // si tratta di una vocale,
  46.                 // quindi accumulo il valore nel risultato
  47.                 risultato = risultato + c;
  48.         }
  49.         return risultato;
  50.     }
  51.    
  52.     static String consonanti(String s) {
  53.         String risultato = ""; // stringa per il risultato
  54.         // percorro la stringa
  55.         for(int indice =0; indice < s.length(); ++indice) {
  56.             // prendo il carattere corrente
  57.             char c = maiuscolo(s.charAt(indice));
  58.             // controllo che sia una lettera e non sia una vocale
  59.             if (c >= 'A' && c <= 'Z' && c != 'A' && c != 'E' && c != 'I' && c != 'O' && c != 'U')
  60.                 risultato += c;
  61.         }
  62.         return risultato;
  63.     }
  64.  
  65.     public static void main(String[] args) {
  66.         String testo = "PapErinO";
  67.         System.out.println(vocali(testo));
  68.         System.out.println(consonanti(testo));
  69.                
  70.         double f = Math.pow(3, 4);
  71.         int po = (int)Math.pow(3, 4);
  72.     }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement