Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我的循环似乎从索引1开始?_Java_Arrays - Fatal编程技术网

Java 为什么我的循环似乎从索引1开始?

Java 为什么我的循环似乎从索引1开始?,java,arrays,Java,Arrays,当我尝试输入时,例如: 四, 一 二 三 四 我四点出错。它不应该将这些字符串值放入数组中吗 问题在于,nextInt不使用该行,只使用整数。所以你实际上得到了,1,2和3的标签,然后它试图用nextInt读取4作为第一个数据元素 如果您这样键入输入: public static void main(String args[]) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); String

当我尝试输入时,例如:

四, 一 二 三 四

我四点出错。它不应该将这些字符串值放入数组中吗

问题在于,nextInt不使用该行,只使用整数。所以你实际上得到了,1,2和3的标签,然后它试图用nextInt读取4作为第一个数据元素

如果您这样键入输入:

public static void main(String args[])
{

    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    String[] label = new String[n];
    int[] data = new int[n];
    int x = 0;

    for(x = 0; x < n*2; x++)
    {
        if (x<n)
        {
            label[x] = scan.nextLine();
        }
        if (x >= n)
        {
            data[x-n] = scan.nextInt();
        }
    }   
    System.out.print(data[0]);
}

然后你会得到一个{1,2,3,4}的标签数组和一个{1,2,3,4}的数据数组。

“我在4处出错。”-什么错误?请在java.util.Scanner.throwForScanner.java:909在java.util.Scanner.nextScanner.java:1530在java.util.Scanner.nextIntScanner.java:2160在java.util.Scanner.nextIntScanner.java:2119在BarChart.mainBarChart.java:23显示整个错误消息
4 one
two
three
four
1 2 3 4