我在上Udemy Java课程时遇到了一个问题。我写了下面的代码,因为课程的主题是方法。悬停者,我不知道为什么它不能被编译。有人可以帮我发现错误吗?
这是IntelliJ给我的错误:
public class Main {
public static void main(String[] args) {
String playerName = "Piotr";
int playerPosition = CalculateHighScorePosition(1500);
displayHighScorePosition("Piotr", playerPosition);
playerPosition = CalculateHighScorePosition(900);
displayHighScorePosition("Cezary", playerPosition);
playerPosition = CalculateHighScorePosition(400);
displayHighScorePosition("Adam", playerPosition);
playerPosition = CalculateHighScorePosition(50);
displayHighScorePosition("Julia", playerPosition);
private static void displayHighScorePosition(String playerName, int playerPosition) {
System.out.println( playerName + " managed to get into " + playerPosition );
}
private static int CalculateHighScorePosition(int playerScore) {
if (playerScore > 1000) {
return 1;
}
else if (playerScore > 500 && playerScore < 1000) {
return 2;
}
else if (playerScore > 100 && playerScore < 500) {
return 3;
}
else {
return 4;
}
}
}
}
最佳答案
尽管我的判断力更好,但我仍在回答。
您已经在main方法中定义了两个方法。
public class Main {
public static void main(String[] args) {
String playerName = "Piotr";
int playerPosition = CalculateHighScorePosition(1500);
displayHighScorePosition("Piotr", playerPosition);
playerPosition = CalculateHighScorePosition(900);
displayHighScorePosition("Cezary", playerPosition);
playerPosition = CalculateHighScorePosition(400);
displayHighScorePosition("Adam", playerPosition);
playerPosition = CalculateHighScorePosition(50);
displayHighScorePosition("Julia", playerPosition);
}
private static void displayHighScorePosition(String playerName, int playerPosition) {
System.out.println( playerName + " managed to get into " + playerPosition );
}
private static int CalculateHighScorePosition(int playerScore) {
if (playerScore > 1000) {
return 1;
}
else if (playerScore > 500 && playerScore < 1000) {
return 2;
}
else if (playerScore > 100 && playerScore < 500) {
return 3;
}
else {
return 4;
}
}
}