Вы были близки. Вместо одной переменной (sentence
) вам понадобится массив (sentences[]
), как показано ниже:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int number = 0;
while (number < 2) {
System.out.print("Type a number > 2: ");
number = Integer.parseInt(scan.nextLine());
}
String[] sentences = new String[number];
int y = 0;
for (int i = 0; i < number; i++) {
System.out.print("Type a sentence: ");
sentences[i] = scan.nextLine();
}
Arrays.sort(sentences);
for (String sentence : sentences) {
System.out.println(sentence);
}
}
}
Чтобы отсортировать String sentences[]
, вам нужно использовать Arrays.sort(sentences)
, как показано выше.
Пробный прогон:
Type a number > 2: 0
Type a number > 2: 3
Type a sentence: Hello world
Type a sentence: You are awesome
Type a sentence: My name is Jane
Hello world
My name is Jane
You are awesome
[Обновление]
Согласно вашему разъяснению, вы хотели напечатать только одно предложение, которое является самым низким в алфавитном порядке. Это похоже на отслеживание минимального числа из списка чисел.
Алгоритм следующий:
- Сохраните первый ввод в переменной, скажем,
lowestAlphabetical
. - В al oop сравните значение
lowestAlphabetical
со следующим вводом, и если следующий ввод в алфавитном порядке ниже, поместите следующий ввод в lowestAlphabetical
.
Демо:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int number = 0;
while (number < 2) {
System.out.print("Type a number > 2: ");
number = Integer.parseInt(scan.nextLine());
}
// Scan the first sentence
System.out.print("Type a sentence: ");
String sentence = scan.nextLine();
// Since we have only one sentence till now, it is also the lowest in
// alphabetical order
String lowestAlphabetical = sentence;
// Loop for next inputs
for (int i = 1; i < number; i++) {
System.out.print("Type the next sentence: ");
sentence = scan.nextLine();
if (sentence.compareTo(lowestAlphabetical) < 0) {
lowestAlphabetical = sentence;
}
}
System.out.println(lowestAlphabetical);
}
}
Пробный запуск:
Type a number > 2: 3
Type a sentence: Hello world
Type the next sentence: Good morning
Type the next sentence: My name is Jane
Good morning