2016-11-24 2 views
0

Я делаю 3-мерную игру в стиле tic tac toe. Игра завершена и отлично работает, однако задание требует, чтобы (для тестирования игровых ситуаций) программа взяла файл целых чисел, который помещает фрагменты на игровое поле. Он принимает файл из командной строки Unix.Продолжайте выбраться из пределов исключения, не знаете почему?

Однако игра должна запускаться от начала, если в командной строке не вводится файл. Я получаю исключение из-за границы и не знаю, почему для меня жизнь. Любая помощь будет принята с благодарностью.

часть коды для получения файла и хранения целых чисел:

public class Test { 
    static int board[][][] = new int[4][4][4]; 
    static boolean ComputerMoved = false; 
    static int[] sums = new int[76]; 
    static int n = 0; 

    public static void main(String[] args) throws FileNotFoundException { 
     //Method purpose is to look and see if there is a startup file given to 
     //initally setup the board. If not, plays an empty board and prompts the 
     //user for the first move. 

     Scanner scan = new Scanner(new FileInputStream(args[0])); 

      if (args.length > 0) { 
       int size = scan.nextInt(); 
       for (int i = 0; i < size; i++) { 
        int level = scan.nextInt(); 
        int row = scan.nextInt(); 
        int column = scan.nextInt(); 
        int value = scan.nextInt(); 

        level = level % 4; 
        row = row % 4; 
        column = column % 4; 

        board[level][row][column] = value; 
       } 
      } 

ответ

0

Подсказка: По-видимому, из-за исключением ограничивающих приходят не из вашего массива, а сканер. Возможно ли, что у вас нет «достаточного количества» для сканирования?

+0

Я вижу, что я сделал не так. Я использовал первую позицию в массиве, прежде чем проверять длину. Благодаря! – NoviceProgrammer123

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