I'm a novice with Java. I took a class in C, so I'm trying to get myself out of that mode of thinking. The program I'm writing has a section in which the user enters an integer, n, and then n number of words afterwards. This section then searches through those words and finds the shortest one, then returns it to the user. For instance, an input might be:
INPUT: 4 JAVA PROGRAMMING IS FUN
OUTPUT: IS
The code I have currently seems to return the wrong word. In this instance, it returns "PROGRAMMING", when it should return "IS". I thought maybe you all could point me in the right 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);
To give you an idea of what I was trying to do, I was attempting to enter the words into a string, "sentence," then break that string up into individual words in an array, "words[]," then run a for loop to compare the strings to each other by comparing the lengths to the entries in the array. Thank you for your assistance!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…