Просматривая ваш код, я вижу, что вы пытаетесь найти самую длинную строку в предложении, введенном пользователем.
Нет необходимости вводить каждое слово индивидуально, когда вы просто можете ввести всю строку. Вам может помочь что-то вроде следующего кода:
import java.util.Scanner;
public class Main {
public static String findLongestWord(String[] arr){
String longest = "";
for (String current : arr){
// If the current word is larger than the longest.
if(current.length() > longest.length()){
longest = current; // Then set longest word to current.
}
}
return longest;
}
public static void main(String[] args) {
// Get the sentence from the user.
System.out.println("Input a sentence: ");
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
// Split sentence into words.
String[] arr = s.split("\\W+");
System.out.println("Longest word is " + findLongestWord(arr));
}
}
При запуске с входом Find the longest word in this large sentence
это выводит:
Input a sentence:
Find the longest word in this large sentence.
Longest word is sentence