我是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循环或任何迭代器来实现。
简单的循环:
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);
}
}