[英]Scanner read an array of inputs from console
Hi how can i achieve the same effect in java? 嗨,我如何在Java中达到相同的效果? The code below is in C#.
下面的代码在C#中。
for(int arr_i = 0; arr_i < 6; arr_i++)
{
string[] arr_temp = Console.ReadLine().Split(' ');
arr[arr_i] = Array.ConvertAll(arr_temp,Int32.Parse);
}
It seems that you're working with jagged arrays in C#
where each element of the array is another array. 似乎您正在使用
C#
中的锯齿状数组,其中数组的每个元素都是另一个数组。 In Java
you'll need to use a Scanner#nextLine()
to imitate Console.ReadLine()
in C#
. 在
Java
您需要使用Scanner#nextLine()
模仿C#
Console.ReadLine()
。
Scanner scanner = new Scanner(System.in);
...
...
...
for(int arr_i = 0; arr_i < 6; arr_i++)
{
String[] arr_temp = scanner.nextLine().split(" ");
arr[arr_i] = Arrays.stream(arr_temp).mapToInt(Integer::parseInt).toArray();
}
in Java 8
you can use Stream#mapToInt
to imitate Array.ConvertAll
in C#
. 在
Java 8
,可以使用Stream#mapToInt
模仿C#
Array.ConvertAll
。
In Java split()
method returns an array of String
. 在Java中,
split()
方法返回String
数组。 You have to parse the individual String
in the array to Integer
. 您必须将数组中的单个
String
解析为Integer
。
Try something like this: 尝试这样的事情:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] data = in.nextLine().split(" ");
int[] numbers = new int[data.length];
for (int i = 0; i < data.length; i++) {
numbers[i] = Integer.parseInt(data[i]);
}
System.out.println(Arrays.toString(numbers));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.