Java: Trouver le plus court de mots dans une chaîne de caractères et d'imprimer les documents

Je suis un novice en Java. J'ai pris une classe en C, donc je suis en train de me sortir de ce mode de pensée. Le programme que je suis en train d'écrire a une section dans laquelle l'utilisateur entre un nombre entier, n, puis n nombre de mots par la suite. Cette section cherche ensuite à travers ces mots et trouve la plus courte, puis la retourne pour l'utilisateur. Par exemple, une entrée peut être:

D'ENTRÉE: 4 DE PROGRAMMATION JAVA EST AMUSANT

DE SORTIE: EST

Le code que j'ai actuellement semble renvoyer le mauvais mot. Dans ce cas, il renvoie "PROGRAMMATION", quand il devrait revenir "EST". J'ai pensé que peut-être vous avez tous pu me pointer dans la bonne direction.

int numwords = scan.nextInt();
    String sentence = scan.nextLine();
    String shortestword = new String();
    String[] words = sentence.split(" ");
    for (int i = 0; i < numwords; i++){
        if (shortestword.length() < words[i].length()){
            shortestword = words[i];

        }
    }
    System.out.printf(shortestword);

Pour vous donner une idée de ce que j'étais en train de faire, j'ai été de tenter de saisir les mots dans une chaîne de caractères, "phrase", puis briser cette chaîne de mots individuels dans un tableau, "les mots[]," puis exécuter une boucle for pour comparer les chaînes de caractères les uns des autres en comparant les longueurs pour les entrées dans le tableau. Merci pour votre aide!

OriginalL'auteur Batteries | 2012-09-08