Je fais probablement tout mal mais j'ai un tableau de nombres et je voudrais extraire des nombres positifs de ce tableau et les mettre dans un tableau séparé. Je voudrais potentiellement faire la même chose avec des nombres négatifs.

Voici ce que j'ai essayé (le code est faux mais je suis bloqué ici pour le moment):

public static void main(String[] args) {
 int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};
 
 int [] arrayPositive = Arrays.copyOf(array, 13);
 
    for (int i = 0; i < arrayPositive.length; i++) {
      if (i > 0) {
          System.out.println("" + i);
      }
    }

Tout commentaire serait plus que bienvenu! Merci d'avance.

-3
cuphead 22 août 2020 à 19:53

3 réponses

Meilleure réponse

Voilà

    public static void main(String[] args) {
        int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};
        int l = array.length;
        int[] arrayPositive = new int[l];
        int[] arrayNegative = new int[l];
        int i,j,k;
        i=j=k=0;
        for (i = 0; i < l; i++){
            if (array[i] > 0) {
                arrayPositive[j]=array[i];
                ++j;
            }
            else if(array[i] < 0){
                arrayNegative[k]=array[i];
                ++k;
            }
        }
        for (i = 0; i < l; i++){
            System.out.println(arrayPositive[i]+"\t" + arrayNegative[i]);
        }
    }
0
Pal Laden 22 août 2020 à 17:06
public static void main(String[] args) {
  
  int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};
  
  int [] arrayPositive = new int[array.length];
 
    for (int i = 0; i < array.length; i++) {
      if (array[i] > 0) {
          System.out.println(""+array[i] );
          arrayPositive[i]=array[i];
      }
    }
 
}
0
Aravind OR 22 août 2020 à 17:29

Si vous souhaitez extraire des nombres positifs, votre if doit vérifier si chaque élément du tableau est supérieur à 0, comme dans le code suivant.

for (int i = 0; i < arrayPositive.length; ++i) {
      if (arrayPositive[i] > 0) {
          System.out.println("" + arrayPositive[i]);
      }
    }
0
danula godagama 22 août 2020 à 17:05