如何从用户读取4个数字作为输入并将其打印为“|”分开的价值?

时间:2017-09-14 16:04:37

标签: java arrays

我必须制作一个方法来打印出数组中的元素,用''|'分隔 @param values,一个整数数组。

基本上它假定接受用户输入,然后从那里将它与|分开。这就是我到目前为止所拥有的。有没有帮忙?

    int [] scans = new int [3];

System.out.println("Enter 4 Numbers into the array: " );
Scanner scanner = new Scanner(System.in);
int s = scanner.nextInt();

for (int i = 0; i < scans.length; i++)
{
    scans [i] = scanner.nextInt();
}

2 个答案:

答案 0 :(得分:0)

首先,您通过将第一个输入数字分配给s来忽略第一个输入数字,但此后您永远不会使用它。对于加入问题,您可以使用流。以下将要求用户输入3个号码,将其保存到int[3]并输出|

int [] scans = new int[3];
System.out.println("Enter 3 Numbers into the array: " );
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < scans.length; i++) {
    scans [i] = scanner.nextInt();
}
String joined = Arrays.stream(scans)
    .mapToObj(String::valueOf)
    .collect(Collectors.joining("|"));

System.out.println(joined);

答案 1 :(得分:-1)

这是一个可以更容易理解的解决方案,而不使用{@ 1}}解决方案@baao使用(这很好,但如果你是Java的新手,可能更难理解。)

首先,如果你想在数组中存储4个数字,那么你的数组应该包含4个而不是3个元素。您可以使用的另一个技巧是创建一个前缀变量,用于在循环中将每个数字添加到数组中的值之上。在第一次迭代之后,前缀应该设置为分隔符变量。

您可以在此处看到它:https://ideone.com/QCNPZQ

mapToObj