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.
numsest 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.