Element d'1 Array

kk_ -  
 Utilisateur anonyme -
Bonjour les informaticiens,
je suis débutant en java et aimerais avoir des idées comment résoudre ce problème:
j'ai un tableau (Array) qui comporte les valeurs 0, 1, ou -1. je dois parcourir le tableau et l'orque je rencontre le premier 0 par exemple je dois vérifier si dans les prochaine case j'ai encore 0 et considérer j'usqua quelle case les 0 se suivent. je suis très reconnaissant pour toute idée
merci

3 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Tu dois faire une boucle. Donc regarde ton cours sur les boucles pour faire cet exercice.
    0
  2. velocity Messages postés 251 Statut Membre 6
     
    poste une proposition au moins, on va corriger s'il y a une faute.
    0
  3. Utilisateur anonyme
     
    Salut!

    Voici une solution possible...

    package hacktrack.array;
    
    public class ArrayParser {
    
    	public void parse(int[] intArray) {
    		int firstZeroIndex = -1;
    		int lastZeroIndex = firstZeroIndex;
    		for (int idx = 0; idx < intArray.length; idx++) {
    			if (intArray[idx] == 0) {
    				if (firstZeroIndex == -1) {
    					firstZeroIndex = idx;
    				}
    				if (lastZeroIndex == -1 || idx == lastZeroIndex + 1) {
    					lastZeroIndex = idx;
    				}
    			}
    		}
    		if (firstZeroIndex == -1) {
    			System.out.println("No 0 found");
    		} else {
    			System.out.println("First occurence: " + firstZeroIndex
    					+ " - Last occurence: " + lastZeroIndex);
    		}
    	}
    
    	public static void main(String args[]) {
    		int[] intArray = { 1, -1, -1, 1, 0, 0, 0, 0, 0, -1, -1, };
    		ArrayParser parser = new ArrayParser();
    		parser.parse(intArray);
    		int[] intArray2= {1,1,1,1,-1,-1,-1,1,1};
    		parser.parse(intArray2);
    	}
    }
    


    Mais il y a plus simple: tu pourrais utiliser une liste. Ne sachant pas si cette possibilité t'intéresse je me suis limité à l'utilisation d'Array

    ;-)
    0