Заполнение массива строками JAVA
Вопрос состоит из 2 частей:
Часть 1: Необходимо создать список строк (допустим, нужно ввести 5 строк), ввод происходит с клавиатуры. Затем провести сравнение длины каждой строки и определить, какая встретится раньше: строка с наибольшим количеством символов или с наименьшим. После сравнения вывести эту строку.
Часть 2: Возможно ли использование представленного ниже фрагмента для написания кода?
BufferedReader reader = new BufferedReader( new InputStreamReader(System.in));
System.out.println("Введите любые 5 строк:");
String numa = reader.readLine();
Заранее благодарю за ответ.
Ответы (1 шт):
Автор решения: Вадим
→ Ссылка
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Введите любые 5 строк:");
String str1 = reader.readLine(); // получаем первую строку введенную с клавиатуры
String str2 = reader.readLine();
String str3 = reader.readLine();
String str4 = reader.readLine();
String str5 = reader.readLine(); // получаем пятую строку введенную с клавиатуры
String[] arrayStr = {str1, str2, str3, str4, str5}; // записываем введенные строки в массив
int[] array = new int[]{str1.length(), str2.length(), str3.length(), str4.length(), str5.length()}; // создаем массив с длинами строк
Arrays.sort(array); // сортируем массив (не забываем импортировать: import java.util.Arrays;)
for (int i = 0; i < arrayStr.length; i++) { // проходим по массиву введенных строк
if (arrayStr[i].length() == array[0] || arrayStr[i].length() == array[array.length - 1]) { // если длина строки равна максимальной или минимальной, то выводим ее и завершаем цикл
System.out.println(arrayStr[i]);
break;
}
}
}
}