Answer the question
In order to leave comments, you need to log in
Why does the program not ask for text, I enter sentences into the console and nothing happens?
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.*;
/**
Написать консольную программу, которая бы сортировала текст поданный ей на стандартный вход по алфавиту.
Варианты усложнения:
1.Программа должна игнорировать регистр при сортировке
2.Программа должна сортировать не по алфавиту, а по количеству символов в строке
*/
public class NewClass8 {
public static void main(String... args) {
List<String> temp = new ArrayList<String>(); //используем коллекцию, чтобы добавлять элементы динамически
Scanner in = new Scanner(System.in);
while (true) {
String input = in.next();
if (input.equals("done")) { // ввод закончим на слове "done"
break;
}
temp.add(input);
}
String[] strings = new String[temp.size()];
temp.toArray(strings); // делаем массив из коллекции, если нужен массив введенных слов
Collections.sort(Arrays.asList(strings), new MyComparator());
for (String string : strings) {
System.out.println(string);
}
}
}
class MyComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
Integer i1 = o1.length();
Integer i2 = o2.length();
return i1.compareTo(i2);
}
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question