Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    110

    Confrontare stringa (string) con un'enumerazione (enum)

    Ciao a tutti,
    avrei un esercizio che mi chiede di creare un metodo che legga una stringa e ne conti le le vocali.
    L'ho risolto abbastanza facilmente utilizzando un semplice switch:


    codice:
    public static int contaVocali(String frase){
        
            int numvar = 0;
            String s= frase.toLowerCase();
            for(int i=0; i <= frase.length() -1; i++)
            {
                switch(s.charAt(i)){
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                numvar ++;
                }
            }
            return numvar;
        }

    Ma mi chiedevo come potevo fare se invece utilizzassi un'enumerazione.
    Come confronto la mia stringa con i valori dell'ENUM?
    Grazie


    codice:
    import java.util.Scanner;
    
    
    public class MethodsDemo {
    
    
        enum vocali {A, E, I, O, U}
        
        
        
        public static int contaVocali(String frase){
        
            int numvar = 0;
            for(int i=0; i <= frase.length() -1; i++)
            {
                vocali vocals;
            if((frase.charAt(i)).equals                   <---------- ????
            }
            }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Sevenis Visualizza il messaggio
    Ma mi chiedevo come potevo fare se invece utilizzassi un'enumerazione.
    Come confronto la mia stringa con i valori dell'ENUM?
    Qualunque enum che viene definita possiede implicitamente un metodo statico speciale (generato dal compilatore) della forma

    public static TuaEnum valueOf(String name)

    Se il parametro name è esattamente uguale al nome di una delle costanti della enum, allora ottieni quella istanza della enum. Altrimenti viene lanciato IllegalArgumentException.

    Quindi dovresti:
    - prendere il carattere i-esimo
    - portare il carattere in maiuscolo e in String (non solo char)
    - passarlo al valueOf di vocali
    - se ottieni la enum, è una vocale; se scatena IllegalArgumentException, non hai una vocale

    Tutto questo però è poco bello/pratico. Va bene giusto solo come esercizio/prova.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.