java—编译器将有分号和无分号都视为错误时出现的奇怪问题

svmlkihl  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(255)

所以,这是我的密码
因为某种原因它给了我

Vector.java:2: error: ';' expected
    public static void main(String[] args)
                                          ^
1 error

用分号,和

Vector.java:2: error: missing method body, or declare abstract
    public static void main(String[] args);
                       ^

没有它。我尝试了这两种变体,但编译器无论如何都不想这么做。有什么问题吗?我真的不明白

public class Vector {
    public static void main(String[] args);
  private final double x;
  private final double y;
  private final double z;

  public Vector(double x, double y, double z) {
    this.x = x;
    this.y = y;
    this.z = z;
  }

public class CosineSimilarity extends AbstractSimilarity {

  @Override
  protected double computeSimilarity(Matrix sourceDoc, Matrix targetDoc) {
    double dotProduct = sourceDoc.arrayTimes(targetDoc).norm1();
    double eucledianDist = sourceDoc.normF() * targetDoc.normF();
    return dotProduct / eucledianDist;
  }}}
mqxuamgl

mqxuamgl1#

因此,java中的函数必须有一个主体(只要它们不是抽象的)。你的 main 函数没有,因此编译器不高兴。这个 main 函数是应用程序的入口点。只要给它一个带有花括号的主体,编译器就应该很高兴了

相关问题