Java - 方法内的代码阻塞不当

Java - Improper blocking of code within a method

这是我的代码。这应该很简单。

    3    public class Main {
    4
    5    int highScorePosition = calculateHighScorePosition(1500);
    6    displayHighScorePosition ("Tim", highScorePosition);
    7
    8    public static void displayHighScorePosition(String player, int 
         highScorePosition){
    9
    10        System.out.println(player + "name" + highScorePosition + 
         "position");
    11    }
    12
    13    public static int calculateHighScorePosition(int playerScore) {
    14        if (playerScore > 1000) {
    15            return 1;
    16        } else if (playerScore < 500 && playerScore < 1000) {
    17            return 2;
    18        } else if (playerScore > 100 && playerScore < 500) {
    19            return 3;
    20        } else return 4;
    21    }
    22  }

错误在第 6 行 - 调用方法 'displayHighScorePosition'。 错误是:'missing method body, or declare abstract'。 在消息块的同一行,我得到 "illegal start of type"。

顺便说一句,我是 运行 IntellJ IDEA 2017.2.6

在Java程序中,必须先执行"entry point"一段代码。怎么做?您必须在 class 中声明一个方法 "main"。这是一个例子:

public class SampleClass {

   public static void main(String [] args) {
       System.out.println("hello world");
   }
}

请注意,该方法是 'static' 所以为了调用它 Java 运行时甚至不应该创建 class 'SampleClass' 的实例(对象)。

现在在 main 方法中,您可以调用其他静态方法或创建不同 classes 的对象。

像这样:

public class SampleClass2 {
    public static void printHello(String name) {
        System.out.println("Hello: " + name);
    }
    public static void main(String [] args) {
        printHello("John");
        printHello("Jack");            
    }
}

你的定义好像是对的,但是忘记了main方法。所以请尽量把第5行和第6行放到main方法compile和运行中。它应该可以工作。