L'opérateur + est pas défini pour le type d'argument(s) Chaîne vide
public class chap7p4 {
public static void main(String[] args) {
int[] heights = { 33, 45, 23, 43, 48, 32, 35, 46, 48, 39, 41, };
printArray(heights);
System.out.println("Average is " + findAverage(heights)); //this is where I get the error
}
public static void printArray(int[] array) {
for (int eachNum : array) {
System.out.println(eachNum + " ");
}
}
public static void findAverage(int[] array) {
int average = 0;
int total = 0;
for (int i = 0; i <= array.length; i++) {
total = total + array[i];
}
average = total / array.length;
System.out.println(average);
}
}
J'obtiens cette erreur
"Exception in thread "main" java.lang.Error: Unresolved compilation problem: The operator + is undefined for the argument type(s) String, void"
- Il suffit de changer le type de retour de findAverage méthode de type int. Maintenant, le type de retour est void.
Vous devez vous connecter pour publier un commentaire.
findAverage
a un type de retour void. Changer le type de retour de la méthode de retour d'unint
valeurVotre méthode
findAverage(heights)
doit retourner une valeur à applicaable pour l'opérateur binaire+
, qui prend deux opérandes.vous ne pouvez pas faire
String
+void
findAverage
méthode renvoievoid
Changer le type de retour de votre
findAverage()
méthode,je.e
void findAverage
àint findAverage
Return
type defindAverage
méthode ne doit pas être vide, il doit être entier pour votre code.Vous ne devriez pas imprimer la valeur de la moyenne dans la même méthode que vous appelez dans la méthode principale.
Ici aussi, l'argument est de type int, et d'Opérateurs comme(*,+,..) ne fonctionne pas pour l'argument de type void et int donc soit changer de type d'argument ou le type de retour comme mentionné ci-dessus.