Скажите, что это в строке 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();
}
}
if (input[i].length() < наименьшая.length()){ строка 11
Исключение в потоке "основной" java.lang.NullPointerException является исключением




Эта строка создает массив нулевых ссылок на строки:
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];
Как заполнить входной массив собранными строками?
Отредактированный ответ.
1. Покажите нам, где находится линия 12. 2. Покажите нам, что такое исключение.