import java.util.*; public class centeredAverage { public static void main(int[] nums) { int count = 0; int max = 0; for (int i = 0; i < nums.length; i++) { max = Math.max(max, nums[i]); } int min = max; for (int i = 0; i < nums.length; i++) { min = Math.min(min, nums[i]); } for (int i = 0; i < nums.length; i++) { if (nums[i] == max) { nums = nums.subList(0, nums[i]) + nums.sublist(nums[i]+1, nums.length); } if (nums[i] == min) { nums = nums.subList(0, nums[i]) + nums.sublist(nums[i]+1, nums.length); } } for (int i = 0; i < nums.length; i++) { count += nums[i]; } return count/nums.length; } The error is on line number 16: cannot find symbol symbol: method subList(int,int) location: variable nums of type int[]
4 Réponses :
Selon ce que je comprends, nums
est un tableau qui n'a pas cette méthode.
Vous avez défini "nums" comme un tableau de valeurs entières: int[] nums
. Partout où vous référencez nums
, le compilateur vous permettra uniquement de faire des choses valides pour un tableau d'entiers.
Par exemple, cela serait autorisé:
int[] partOfNums = Arrays.copyOfRange(nums, 0, 4);
Mais ce ne serait pas le cas - car .subList()
n'est pas quelque chose que vous pouvez appeler sur un tableau:
nums = nums.subList(...);
Pour extraire une partie d'un tableau, vous pouvez utiliser Arrays.copyOfRange () , comme ceci:
int len = nums.length;
Essayez avec eclipse ide ou n'importe quel ide..vous obtiendrez une erreur de compilation si vous utilisez nums.sublist..bcoz array n'a pas de méthodes
Vous exécutez d' abord la sous - liste et la sous - liste suivante, l'erreur fait référence à la sous- liste en minuscules. Le compilateur JAVA est sensible à la casse.
nums
est un tableauint
. Les tableaux en Java ne définissent pas de méthodes. Ainsi, vous ne pouvez pas appelersubList(...)
sur un tableau. Même si le code fonctionnait,subList(...)
suggère qu'unList<...>
est renvoyé, pas un tableau.Que puis-je faire pour faire ce que j'essaie de faire?
Je ne sais pas parce que je ne sais pas ce que vous essayez de faire.