Calculer les nombres négatifs dans un tableau

J'étais à la recherche de solution pour trouver les nombres négatifs dans la gamme et je suis venu avec quelque chose comme ce code à partir de la recherche.

public static void main(String args[]){
    int arrayNumbers[] = { 3, 4, 7, -3, -2};
    for (int i = 0; i <= arrayNumbers.length; i++){
        int negativeCount = 0;
        if (arrayNumbers[i] >= 0){
                negativeCount++;
    }
    System.out.println(negativeCount);
    }
}

Je me demandais est-il plus facile ou le plus court chemin pour trouver le numéro de négatif dans un tableau vs le code ci-dessus?

  • C'est en comptant les >= 0, pas les nombres négatifs.
  • Ce code va générer un en dehors des limites de l'exception en raison de la condition d'arrêt dans le for.
  • Qui code l'habitude de compiler à tous, vous ne pouvez pas accéder negativeCount en dehors de la boucle for.
  • Donc, il ya un moyen plus court. 😉
  • Vous devez mettre int negativeCount = 0; avant la boucle. Sinon, le compteur est initialisé à 0 à chaque itération
  • Éventuellement, un moyen plus efficace consiste à vérifier la valeur chaque fois que vous ajoutez/définir un élément de tableau, et de maintenir le nombre obtenu au cours de l'tableaux de durée de vie. De cette façon, vous ne serait jamais à regarder le tableau dans son ensemble, en comptant les nombres négatifs-vous de toujours savoir comment de nombreux aspects négatifs que vous avez mis là jusqu'à présent.
  • Il n'existe aucun moyen en java pour ce faire.
  • d'accord, à condition que le tableau est initialisé comme illustré. Si elle est remplie "par code", vous pouvez incrémenter le "négatif" de comptage lors de l'ajout et de décrémentation lors de la suppression d'un négatif int/à partir de la matrice. (Je suppose que l'OP utilise l'initialisation de tableau de garder la question simple, mais en réalité, utilise un algorithme pour construire le contenu en tant que non-constante, c'est à dire avec code).
  • De quoi parles-tu? Précisément comment pouvez-vous "incrémenter le négatif comte" lors de l'ajout/suppression d'éléments d'un tableau?
  • Comme ceci: Si vous avez une méthode qui définit un elems valeur dans le tableau, puis dans cette méthode, vous pouvez inspecter la valeur, et incrémenter un mondial int variable (ou le domaine) negativeCount par une si la valeur est négative. Ensuite, vous n'auriez pas à recalculer le nombre de négatifs lateron. (int negativeCount aurait besoin d'être initialisé à zéro et propertly maintenue, bien sûr.). Je ne crois pas que les valeurs dans le tableau proviennent de l'initialiseur de tableau dans les tableaux de déclaration à l'OPs code réel.

InformationsquelleAutor PHZE OXIDE | 2012-10-01