2013-04-23 232 views
-1

我已经写了下面的程序和程序引发编译错误的编译错误

我不知道为什么错误来了,因为所有分号和括号似乎是在地方

import java.io.*; 

public class Solution { 
    public static void main(String args[]) throws Exception { 
    long coords[5000][2]; 
    long number; 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

    try { 
     number = Long.parseLong(br.readline()); // take no of inputs 
     //take all co ordinates and store it in 2d array 
     for(long i=0;i<number;i++) { 
     coords[i][0] = Long.parseLong(br.readline()); 
     coords[i][1] = Long.parseLong(br.readline()); 
     } 
    } catch(NumberFormatException e) { 
     System.out.println("Number Format Exception:"); 
    } 

    if(check_line(coords,number)) { 
     System.out.println("YES"); 
    } else { 
     System.out.println("NO"); 
    } 
    } 

    public boolean check_line(long coords[][], long limit) { 
    long x; 

    for(long i=0;i<no;i++) { 
     x = coords[i][0]; 
     if(coords[x][0] == x) 
     return true; 
     else { 
     coords[i][0] = coords[x][0]; 
     coords[x][0] = x; 
     } 
    } 

    return false; 
    } 
} 

编译错误如下:

Solution.java:8: error: ']' expected 
long coords[5000][2]; 
^ 
Solution.java:8: error: illegal start of expression 
long coords[5000][2]; 
^ 
Solution.java:8: error: ';' expected 
long coords[5000][2]; 
^ 
Solution.java:8: error: not a statement 
long coords[5000][2]; 
^ 
Solution.java:8: error: ';' expected 
long coords[5000][2]; 
^ 
+1

一些衍生得到的答复混淆这......是如此愚蠢的错误 – Nirav 2013-04-23 01:23:37

+0

有相当多的。 readline()应该是正确的 - readLine()。 check_line是一种静态方法,非静态方法 在i hop 2013-04-23 01:26:55

+0

请不要忘记接受答案:P – 2013-04-23 01:27:31

回答

5

这是不正确的语法正确的将是 long coords[][] = new long[5000][2]; 它好像你用的Ç

0

这不是创建一个数组的正确方法:

long coords[5000][2]; 

它应该是:

long coords[][] = new long[5000][2]; 

记住,赋值给一个变量时,你必须始终使用=符号。