您好我如何在java中实现相同的效果? 下面的代码在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);
}
答案 0 :(得分:2)
您似乎正在使用C#
中的锯齿状数组,其中数组的每个元素都是另一个数组。在Java
中,您需要使用Scanner#nextLine()
模仿Console.ReadLine()
中的C#
。
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();
}
在Java 8
中您可以Stream#mapToInt
使用Array.ConvertAll
模仿C#
中的{{3}}。
答案 1 :(得分:1)
在Java split()
方法中返回String
的数组。您必须将数组中的个人String
解析为Integer
。
尝试这样的事情:
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));
}