2016-07-02 4 views
0

Ich bin ziemlich neu in der Programmierung. . .Ich versuche, eine Methode zu einer Methode hinzuzufügen, aber ein Fehler wird zurückgegeben, was fehlt mir?

ich einen Fehler mit dem folgenden Code bin immer:

public class Main { 

public static void main(String[] args) { 

    int highScore = calculateScore(true, 800, 5, 100); 
    System.out.println("Your final score was " + highScore); 


    highScore = calculateScore(true, 10000, 8, 200); 
    System.out.println("Your final score was " + highScore); 

    displayHighScore(Jack, 3); 
} 

public static int calculateScore(boolean gameOver, int score, int levelCompleted, int bonus) { 
    if (gameOver) { 
     int finalScore = score + (levelCompleted * bonus); 
     finalScore += 2000; 
     return finalScore; 
    } 
    return -1; 
} 

public static void displayHighScore(String playersName, int position){ 
    System.out.println(playersName + " managed to get to position " + position); 
    } } 
+2

[Verfahren korrekt] (http://ideone.com/nXlIH1). Wie nennst du das? – BackSlash

+1

(14, 26) bedeutet, dass der Fehler eine Zeile 14, Spalte 26 ist. Dort sollten Sie sich ansehen (und posten). –

+0

Sie rufen wahrscheinlich die Methode mit falschen Parametern –

Antwort

1

wir haben nicht genug Informationen, sondern Inspizieren der Fehler msg

Error:(14, 26) java: incompatible types: int cannot be converted to java.lang.String

es sieht aus wie das Problem, ist, wie Sie die Methode rufen Sie schrieb ...

Sie übergeben eine ganze Zahl wo eine Zeichenfolge muss bei der Unterzeichnung übergeben ...

Look und als Parameter geben genau das, was die Methode braucht ...

a String und ein int

public static void main(String[] args) { 
    displayHighScore(2, 1); // for example this is a wrong paramerer error 
    displayHighScore("C. Bryan", 1); // this is ok! 

} 

public static void displayHighScore(String playersName, int position) { 
    System.out.println(playersName + " managed to get to position " + position); 

} 
-8

Versuchen Sie, zu:

System.out.println(playersName + " managed to get to position " + position.toString());

Java nicht auf Zeichenfolge nicht zusammenwachsen - Sie haben es selbst zu tun.

+0

Falsch, Java macht es für Sie. [Beispiel] (http://ideone.com/nXlIH1) – BackSlash

+0

Java koalesziert zu Zeichenfolge, und Position ist kein Objekt, es ist primitiv – niceman

+0

Eh, mein Schlechter. Aber ich kann sagen, was dann falsch ist - das Poster hat nach dem Hinzufügen eines String-Parameters gefragt. Er ruft also immer noch mit dem ursprünglichen Integer-Wert auf, der als erster Parameter übergeben wurde. – daf

Verwandte Themen