2d arraylist NoSuchElementException

时间:2016-06-15 18:20:08

标签: java exception arraylist runtime-error runtimeexception

我正在尝试创建一个2D ArrayList并为其添加值。出于某种原因,我不断获得NoSuchElementException

以下是我要解决的问题:https://www.hackerrank.com/challenges/java-arraylist

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
               Scanner input = new Scanner(System.in);
               int TestCases = input.nextInt();
               ArrayList<ArrayList<Integer>> listOfLists = new ArrayList<ArrayList<Integer>>();

               List<ArrayList<Integer>> Sdarraylist = new ArrayList<ArrayList<Integer>>();

                //ArrayList<ArrayList<String>> 2darraylist = new ArrayList<>();
                //ArrayList<String> 1darraylist=new ArrayList<>();

               for(int i=0;i<TestCases;i++){

                   ArrayList<Integer> Fdarraylist=new ArrayList<Integer>();
                   //size of Arraylist
                   int NumbersOnCurrentLine = input.nextInt();
                   for(int j=0;i<NumbersOnCurrentLine;j++){
                     //add numbers on the current line to the list
                     Fdarraylist.add(input.nextInt());
                   }
                 Sdarraylist.add(Fdarraylist);
               }                
// data.add(new ArrayList<String>());
 //data.get(0).add("String");

    }
}

1 个答案:

答案 0 :(得分:0)

当您尝试从输入读取但没有可用输入时,会发生该异常。一种解决方法是使用hasNextInt()方法来确保可用的可读输入。 前)

if (input.hasNextInt()) {
    Fdarraylist.add(input.nextInt());
}

这可能是输入的结果,说当前行有三个数字,实际上只有两个。

1
3 1 4 <= would cause exception.