2016-06-15 4 views
0

Я пытаюсь создать 2D ArrayList и добавлять к нему значения. По какой-то причине я продолжаю получать NoSuchElementException.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"); 

    } 
} 

ответ

0

Это исключение возникает при попытке чтения из входного сигнала, но вход не доступен. Одним из способов было бы использовать метод hasNextInt() для обеспечения доступности доступного для чтения ввода. ех)

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

Это может быть результатом ввода говоря три цифры на текущей строке, когда на самом деле есть только два.

1 
3 1 4 <= would cause exception. 
+0

спасибо, что работа и сделал немного. –

+0

, но в то же время не имеет смысла с точки зрения логики, потому что мой цикл 2 должен быть только в соответствии с первым номером на каждой строке. –

+0

Так что я должен читать int из текущего пространства. Так например, если моя строка имела 3 6 5 2, цикл должен работать правильно –

Смежные вопросы