我写了以下程序和程序抛出编译错误
我不知道为什么会出现错误,因为所有的分号和括号似乎都已到位
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];
^
答案 0 :(得分:5)
这是正确的语法错误
long coords[][] = new long[5000][2];
看起来好像你把它与C的一些衍生物混淆了
答案 1 :(得分:0)
这不是创建数组的正确方法:
long coords[5000][2];
应该是:
long coords[][] = new long[5000][2];
请记住,在为变量赋值时,必须始终使用=
符号。