2015-07-31 1 views
-1

Donc, j'ai cette boucle, à la fin de laquelle je tente de concaténer un entier à une chaîne à un entier, comme ceci:Pourquoi ne me laisse-t-il pas concaténer une chaîne en un entier en java?

int a = 0; 
for (int i = 0; i < userResponses.length; i++) { 
    if (userResponses[i].equals(correctAnswers[i])) 
     a++; 
    return a + ("/") + correctAnswers.length; 
} 

Il me donne une erreur de types incompatibles. Cela semble vraiment bizarre car je pensais que Strings et ints pouvaient être concaténés. Voici l'erreur exacte:

TriviaTest.java:51: error: incompatible types 
    } return a + ("/") + correctAnswers.length; 
         ^
    required: int 
    found: String 
    1 error 

De ce que j'observe, le problème est avec l'instruction return.

Répondre

10

Il n'y a rien de mal avec l'expression de concaténation elle-même. Cela fonctionnerait si vous l'imprimiez, par exemple. Cela ressemble beaucoup au type de retour de votre méthode est int, donc il ne peut pas retourner une chaîne.

Aussi, il semble un peu étrange où vous semblez avoir l'instruction de retour inconditionnellement dans la boucle.