【问题标题】:creating a new line for string为字符串创建新行
【发布时间】:2016-10-02 11:49:04
【问题描述】:

制作了一个根据用户输入计算和输出用户的程序。我希望程序使用换行符在另一个下方显示名称,但坚持如何。代码如下:

package uk.ac.reading.cs2ja16.Glen.Stringtest;
import java.util.Arrays;
import java.util.Scanner;

public class stringnames {

    public static String[] countNames (String names) {

        // Create Scanner object
        @SuppressWarnings("resource")
        Scanner names1 =new Scanner(System.in);

        // Read a string
        String read= names1.nextLine();

        // Split string with space
        String numPeople[]=read.trim().split(" ");

        System.out.println("The Number of names inputted is:  "+ numPeople.length);


       return numPeople;
    }   


    public static void main(String[ ] args){

        System.out.println("Enter the amount of names you want(make sure you make space for each name):\n");
        String[] namesout = countNames(null);
        System.out.println(Arrays.toString(namesout));
    }   
}

【问题讨论】:

  • 你需要一个 for 循环:for(String name: namesout) { System.out.println(name) ;}
  • 还要注意countNames(null)中的null奇怪的
  • 警告不是要被压制的,请关闭你打开的所有资源,java7及以上就像使用try-with-resource语句一样简单。

标签: java function newline


【解决方案1】:

首先countNames方法不需要参数,所以在方法声明中删除String names这个东西。并在你的方法调用中删除null这个词。

现在,如果您使用的是 Java 8,则可以使用 for 循环或使用新 Stream API 中的一种方法。

我会告诉你两种方式。

for循环:

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

println 方法会自动在要打印的字符串末尾添加一个换行符。

流 API:

Arrays.stream(namesout).forEach(System.out::println);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多