Ich lerne Java und suchte diesen Fehler, der sehr häufig ist. Aber ich kann die Lösung nicht finden. Ich versuche das Ergebnis von finalScore
wiederzuverwenden, aber egal wie ich es deklariere oder wo ich es platziere, IntelliJ erkennt es nicht. Ich weiß, dass ich hier etwas Grundlegendes vermisse. Wie kann ich die Ganzzahlen deklarieren, damit sie in verschiedenen Methoden wiederverwendet werden können? Irgendwo außerhalb der gameOver
Methode ist ein Problem. Ich versuchte auch public static int finalScore
, aber das warf auch Fehler. Und calculateScore.finalScore
aber immer noch Fehler.Kann Symbol nicht finden - Ganzzahl
package com.test;
public class Main {
public static void main(String[] args) {
// write your code here
calculateScore(true, 5, 5, 200, "sam");
calculateScore(true, 5, 8, 200, "bob");
}
public static void displayHighScore(){
if (finalScore > 100); //problem line of code
System.out.println("helloworld");
}
public static int calculateScore(boolean gameOver, int score, int levelCompleted, int bonus, String name) {
if (gameOver) {
int finalScore = score + (levelCompleted * bonus);
finalScore += 2000;
System.out.println("your final score was " + finalScore);
return finalScore;
if ((finalScore > 100) || (finalScore < 200));
System.out.println(name "is in position 4");
}
return -1; //if the above isn't required/doesn't run, this statement is: else return -1
//or we can just type is as } else { return -1;
}
}
Es ist sehr schwer, diesen Code zu lesen. Willst du es bitte in eine kompilierte Version bearbeiten? – vinS
finalScore ist keine globale Variable. Wie greifen Sie in der Funktion displayHighScore() darauf zu? Zweitens speichern Sie das Ergebnis von calculateScore nicht in einer Variablen. Drittens wird die "return finalScore" -Zeile immer die Funktion zurückgeben, also was ist der Zweck der if-Anweisung, die danach eingefügt wird, wenn sie nicht einmal ausgeführt wird? – KulaDamian
Sie sollten den finalScore von der Funktion calculateScore() zurückgeben, in einer Variablen speichern und diese Variable dann an die Funktion displayHigh Score übergeben. – KulaDamian