2013-04-23 188 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]; 

記住,賦值給一個變量時,你必須始終使用=符號。