我正在使用此代码,由于某种原因,我收到了No Such Element Exception ...

numCompanies正在从键盘导入,并且显示正确,并且Portfolio是[numCompanies] [4]的数组。

谁能找出原因?

for(int i = 0; i < numCompanies; i++)
{
    System.out.print("Stock #" + (i+1) + ": ");
    String stockData = kbReader.nextLine();
    System.out.print("\n\n hi" + stockData);
    Scanner stockLine = new Scanner(stockData);
    for(int j = 0; j < 4; j++)
    {
        portfolio[i][j] = stockLine.next();
    }
}

最佳答案

我没有测试过,但是即使没有元素,也可能调用了stockLine.next();。因此,这可能会有所帮助:

for(int j = 0; j < 4; j++)
{
    if( stockLine.hasNext() ) {
        portfolio[i][j] = stockLine.next();
    }
    else
    {
        portfolio[i][j] = 0; // or whatever you want it to be by default
    }
}


这将解决错误消息,但不能解决故障。

10-08 08:57