0
votes

Pourquoi est-ce que je n'arrive pas à trouver une erreur de symbole? Je suis aveugle / j'apprends Java

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[]

3 commentaires

nums est un tableau int . Les tableaux en Java ne définissent pas de méthodes. Ainsi, vous ne pouvez pas appeler subList(...) sur un tableau. Même si le code fonctionnait, subList(...) suggère qu'un List<...> 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.


4 Réponses :


0
votes

Selon ce que je comprends, nums est un tableau qui n'a pas cette méthode.


0 commentaires

1
votes

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;


0 commentaires

-1
votes

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


0 commentaires

2
votes

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.


0 commentaires