问题描述
编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
样例输入
I am a student
样例输出
student
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.nextLine(); //输入一个字符串,以换行作为结束符
String arr[]= str.split(" "); //拆分字符串,以空格为标准
int sum = 0; //用来统计单词个数最长的
String a = ""; //存入最长的字符串
for (int j = 0; j <arr.length; j++) {
if (arr[j].length()>sum) { //判断字符串的长度
sum=arr[j].length(); //把字符串的长度存入sum 中,用于下一次判断
a=arr[j]; //存入当前最长的字符串
}
}
System.out.println(a);
}
}