Java中2个独立数组的用户输入

Java中2个独立数组的用户输入,java,arrays,input,Java,Arrays,Input,我对Java语言一无所知。我仍在学习和实践,但在解决问题时,我被困在了这个问题上。我想做的是每行添加2个元素到2个单独的数组中。第一个元素进入X数组,第二个元素进入Y数组 public static void main (String[] args) throws IOException { BufferedReader reader =new BufferedReader(new InputStreamReader(System.in)); int n = In

我对Java语言一无所知。我仍在学习和实践,但在解决问题时,我被困在了这个问题上。我想做的是每行添加2个元素到2个单独的数组中。第一个元素进入X数组,第二个元素进入Y数组

public static void main (String[] args) throws IOException {
        BufferedReader reader =new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());

        double[] X = new double[n];
        double[] Y = new double[n];

        String[] elem = reader.readLine().split(" ");
        for(int i = 0; i < n; i++)
        {

                X[i] = Integer.parseInt(elem[n]);
                Y[i] = Integer.parseInt(elem[n]);

        }

        System.out.println(X, Y);
    }
publicstaticvoidmain(字符串[]args)引发IOException{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(System.in));
int n=Integer.parseInt(reader.readLine());
双精度[]X=新双精度[n];
双精度[]Y=新双精度[n];
字符串[]elem=reader.readLine().split(“”);
对于(int i=0;i
输入:

34

11

2 3


其中第一列是数组X,第二列是数组Y。我玩了好几次代码,但它仍然给我“长度为2的索引2超出范围”。

这部分不正确:

    for(int i = 0; i < n; i++)
    {
            X[i] = Integer.parseInt(elem[n]);
            Y[i] = Integer.parseInt(elem[n]);
for(int i=0;i
看起来应该是这样的

    for(int i = 0; (i - 1)< n; i+= 2) // adding two because you are reading two values from elem in every iteration. Changed check to i - 1 to fix case where an odd number of entries will cause an ArrayOutOfBoundsException in elem on i/2 + 1
    {
            X[i/2] = Integer.parseInt(elem[i]);
            Y[i/2] = Integer.parseInt(elem[i] + 1);
for(int i=0;(i-1)
(我的回答中有一个错误,已经修复)

或者:

for(int i = 0; i < n; i++)
{
  if (i % 2 == 0) X[i/2] = Integer.parseInt(elem[i]);
    else Y[i/2] = Integer.parseInt(elem[i]);
for(int i=0;i
您必须读取for循环中的行。
X[i]
对应于
elem[0]
Y[i]
对应于
elem[1]
。例如:

import java.io.*;
import java.util.*;
public class App {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());

        double[] X = new double[n];
        double[] Y = new double[n];

        for (int i = 0; i < n; i++) {
            String[] elem = reader.readLine().split(" ");
            X[i] = Integer.parseInt(elem[0]);
            Y[i] = Integer.parseInt(elem[1]);
        }
        System.out.println(Arrays.toString(X));
        System.out.println(Arrays.toString(Y));
    }
}
import java.io.*;
导入java.util.*;
公共类应用程序{
公共静态void main(字符串[]args)引发IOException{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(System.in));
int n=Integer.parseInt(reader.readLine());
双精度[]X=新双精度[n];
双精度[]Y=新双精度[n];
对于(int i=0;i
非常感谢。这真的很有帮助,因为Java命名约定中的变量和方法都是以小写字母(x,y)开头的。