是的,它在第11行中。有帮助吗?我只是想按长度对10个字符串的数组进行排序。
import java.util.*;
public class lab10 {
public static void main(String[] args) {
Scanner key = new Scanner(System.in);
System.out.println("Enter 10 strings and I'll sort them by their length. Smallest to largest.");
String[] input = new String[10];
String smallest = input[0];
for(int i=0; i<10; i++){
if(input[i].length() < smallest.length()){
smallest = input[i];
}
System.out.println(smallest);
}
key.close();
}
}
答案 0 :(得分:0)
此行创建一个对字符串的空引用数组:
String[] input = new String[10];
此行获取第一个空引用:
String smallest = input[0];
此行尝试以空值调用String.length()
:
if(input[i].length() < smallest.length()){
这种情况是由于您从未用用户收集的字符串填充input
数组引起的。
编辑:要收集字符串,请考虑执行以下操作:
String[] input = new String[10];
for(int i = 0; i < 10; i++) {
input[i] = key.nextLine();
}
String smallest = input[0];