2012-09-27 169 views
0
public int[][] fileRead(String fileName); 
{ 
    Scanner problem = new Scanner(new File(fileName)); 
    int m = 9; 
    int [][] tgrid = new int[m][m]; 
    while(input.hasNextInt()){ 
    for (int i=0;i<m;i++){ 
     for (int j=0;j<m;j++) 
     a[i][j] = input.nextInt(); 
    } 
    } 

出於某種原因,此代碼給出了兩個語法錯誤...錯誤如下。奇怪的語法錯誤(Java)

2 errors found: 
File: C:\Documents and Settings\s2813788\My Documents\Downloads\1005ICTAssignment\SudokuDriver.java [line: 81] 
Error: Syntax error on token "(", ; expected 
File: C:\Documents and Settings\s2813788\My Documents\Downloads\1005ICTAssignment\SudokuDriver.java [line: 81] 
Error: Syntax error on token ")", delete this token 

我看不出有什麼毛病的方法頭或類似的東西:|任何幫助,將不勝感激。

+2

你能告訴什麼作爲線是線81? – elyashiv

+0

public int [] [] fileRead(String fileName) –

+0

@Ben Gittins發佈您的全功能源代碼,在此代碼中,我們可以看到功能結束語句中也缺少右花括號。 – gks

回答

7

你的方法參數後面有一個分號。

public int[][] fileRead(String fileName); 
{ 

刪除它:

public int[][] fileRead(String fileName) 
{ 
+0

仍然有相同的錯誤。即使沒有分號。 –

+3

+1方法的最後一個大括號是剩餘的,沒有返回語句 –

+0

'code' public int [] [] fileRead(String fileName) { Scanner problem = new Scanner(new File(fileName)); int m = 9; int [] [] tgrid = new int [m] [m]; (int j = 0; j

3

在第一行的末尾刪除分號:

public int[][] fileRead(String fileName); 
----------------------------------------^ 

還要確保所有以前的功能被關閉。 main函數的結尾}在哪裏?還要確保你正確地縮進你的所有代碼;良好的縮進將會更容易發現這個錯誤。

1

刪除第一行中的分號。

0

您需要刪除方法定義後的分號。

public int[][] fileRead(String fileName); 

而你缺少return聲明你的方法。

+0

整個方法確實有Return語句。謝謝 –

+1

-1它沒有聲明,這是方法定義,他沒有發佈他的整個方法代碼。 – gprathour

1

如果這個心不是一個錯字,你有一個分號(;)在你的代碼的第一行

public int[][] fileRead(String fileName); 

刪除

public int[][] fileRead(String fileName) 
1

函數定義不應該在結束分號,請刪除它,按照編碼風格在功能定義行末尾聲明括號,以便您可以非常輕鬆地避免出現此類語法錯誤:link

正如:

 public int[][] fileRead(String fileName); 

更改爲:

 public int[][] fileRead(String fileName){