繁体   English   中英

java - 如何将数组更改为每个名称在java中单独一行的字符串?

[英]How to change an arrays into a String with each name on a separate line in java?

我是 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' 会给每个单独的一行,但现在我被卡住了。 我想不出一种方法,而不必单独打印每个名称,这完全违背了目的。

所有帮助将不胜感激!

哦,顺便说一句,当我搜索答案时,有时我会用大量的辅助方法得到一些疯狂的东西。 我更喜欢简单的,我可以阅读:)

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

简单的 For 循环:

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

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

您需要遍历数组并打印出每个名称:

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

或者

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

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

也许这不是最好的方法!

尝试这个。

    Arrays.sort(names);  // sort first

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

您可以使用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);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM