2012-09-27 50 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){