2016-11-24 89 views
0

我正在做一個3維的tic tac腳趾遊戲。遊戲完成並且工作正常,但是,作業要求(用於測試遊戲情況)程序將文件放置在遊戲板上的整數文件中。它從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

相關問題