如何将数组更改为String,每个名称在Java中都位于单独的一行上?

问题描述 投票:0回答:5

我是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'会给每行一个单独的行,但是现在我陷入了困境。我想不出一种方法,而不必分别打印每个名称,这完全破坏了目的。

所有帮助将不胜感激!

哦,顺便说一下,当我寻找答案时,有时我会通过大量的辅助方法而变得疯狂。我更喜欢我可以阅读的简单内容:)

java arrays tostring
5个回答
3
投票

最简单的方法是一个接一个地输出名称。这可以通过简单的for循环或任何迭代器来实现。

简单的循环:

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

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

1
投票

您需要遍历数组并使用以下命令打印出每个名称:

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

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

1
投票
    String array;

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

也许这不是最好的方法!


0
投票

尝试一下。

    Arrays.sort(names);  // sort first

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

0
投票

您可以使用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);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.