2015-01-07 5 views
0

Кто-то Может объяснить мне, почему этот фрагмент кода не работает? Мой массив не наполняются ни с чем -.-Передача целых чисел из файла в массив

Integer[] tab1 = new Integer[401]; 
    int[][] tab2 = new int[20][20]; 
    File fr; 
    int i = 0, c = 0; 
    fr = new File("problem11"); 
    Scanner sc; 
    try { 
     sc = new Scanner(fr); 
     while (sc.hasNext()) { 
      // System.out.printf("%d ", sc.nextInt()); 
      tab1[i] = sc.nextInt(); 

      i++; 
      System.out.print(tab1[i]); 
     } 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+1

То есть скорее всего, потому что 'problem11' не существует в каталоге по умолчанию для местоположения, из которого вы запускаете свою программу. – dasblinkenlight

+1

Может быть, sc не имеет следующих строк, может быть, есть проблема при чтении, ... Включен ли ваш код в цикл while? Есть ли стек? – Stultuske

+0

, если у него есть целые числа, тогда вы должны получить для hasNextInt, а не hasNext. Возможно, вы получаете InputMismatchException? – SMA

ответ

3

Вы отображения следующего элемента массива, который hasnt был заселен еще

i++; 
System.out.print(tab1[i]); 

должен быть

System.out.print(tab1[i++]); 
Смежные вопросы