Как преобразовать массивы в строку с каждым именем на отдельной строке в java? - PullRequest
0 голосов
/ 26 марта 2020

Я новичок ie до java, и я пытаюсь начать с простого задания - перечислить группу имен в алфавитном порядке. В настоящее время мой код в порядке:

import java.util.Arrays;
public class CLASSROOM_SSONG {
    String[] names = {"Joe", "Bob", "Andy"};
    public static void main(String args[]) {
        CLASSROOM_SSONG x =new CLASSROOM_SSONG();
        x.roster();
    }

    public String [] roster() {
        Arrays.sort(names);
        System.out.println(Arrays.toString(names));
        return names;

    }
}

Однако этот код возвращает ARRAY с квадратными скобками, и я предпочитаю, чтобы имена были в отдельных строках без квадратных скобок. Вот что я ищу для возврата:

Andy
Bob
Joe

Как бы я это сделал? Я думал, что println даст каждой отдельной строке, но теперь я застрял. Я не могу придумать способ без необходимости печатать каждое имя отдельно, что полностью противоречит цели.

Вся помощь будет принята!

Да, кстати, когда я ищу ответы, иногда я получаю сумасшедшие вещи с кучей вспомогательных методов. Я предпочитаю простые, которые я могу читать:)

Ответы [ 5 ]

3 голосов
/ 26 марта 2020

Самый простой способ - выводить имена одно за другим. Это возможно с помощью простого for-l oop или любых итераторов.

Simple For-l oop:

String[] names = {"Joe", "Bob", "Andy"};

for (String name : names) {
  System.out.println(name);
}
1 голос
/ 26 марта 2020
    String array;

    for(int i=0;i<names.length;++i){
       array+=names[i]+"\n";
    } 
    System.out.println(array);

Может быть, это не лучший подход!

1 голос
/ 26 марта 2020

Вам необходимо go пройти через массив и распечатать каждое имя:

for(String name: names) {
  System.out.println(name);
}

или

for (int i=0; i < names.length; i++){
   System.out.println(names[i]);
}
0 голосов
/ 26 марта 2020

Вы можете использовать JAVA 8 для сортировки и печати каждого элемента в новой строке.

import java.util.Arrays;
public class CLASSROOM_SSONG {
    String[] names = {"Joe", "Bob", "Andy"};
    public static void main(String args[]) {
        CLASSROOM_SSONG x =new CLASSROOM_SSONG();
        x.roster();
    }

    public void roster() {
        // sort the array and print it to new line
        Arrays.stream(names).sorted().forEach(System.out::println);
    }
}
0 голосов
/ 26 марта 2020

Попробуйте это.

    Arrays.sort(names);  // sort first

    System.out.println(String.join("\n", Arrays.asList(names)));
    // Arrays.asList(names) converts the string into an ArrayList   
...