IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Parcours tableau et changement de valeur


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut Parcours tableau et changement de valeur
    Bonjour,

    Lorsque je parcours un tableau, j'aimerais faire ce qui est en rouge dans ma boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for (int d = 0; d < tabPrenomP.length; d++) {
    
        if (tabPrenomP[0][d] != null ){
            // Cellule non null
            
            // Afficher l'agent + la validation
            System.out.println("Semaine: " + semaineP[1][d] + "Prénom: " + tabPrenomP[0][d]);
    
            // Si la valeur semaineP[1][d] change alors{
                //compter 1 fois;
            //}
        }
    }
    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Par défaut
    Tu veux savoir si la valeur change depuis la dernière consultation?
    Si oui, il faut garder une copie de "semaineP" dans laquelle tu mets les anciennes valeurs et après chaque consultation tu copies la nouvelle valeur dans l'ancienne.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    De toute façon, avec le code qui nous est montré, sa valeur ne change pas, point barre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Si, ma semaine change selon l'agent.
    En faite, je récupère de plusieurs onglet excel les prenoms et la semaine.

    Voici l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Semaine: 1Prénom: CAMILLE
    Semaine: 1Prénom: MURIELLE
    Semaine: 1Prénom: ISABELLE
    Semaine: 1Prénom: OPHÉLIE
    Semaine: 1Prénom: LAURA
    Semaine: 1Prénom: ASSMA
    Semaine: 2Prénom: CAMILLE
    Semaine: 2Prénom: MURIELLE
    Semaine: 2Prénom: ASSMA
    Semaine: 2Prénom: YOANN
    Semaine: 2Prénom: ADELINE
    Semaine: 3Prénom: YVANE
    Semaine: 3Prénom: MURIELLE
    Semaine: 3Prénom: ISABELLE
    Semaine: 3Prénom: OPHÉLIE
    Semaine: 3Prénom: PAULE
    Semaine: 3Prénom: YOANN
    Semaine: 3Prénom: ADELINE
    Semaine: 4Prénom: YVANE
    Semaine: 4Prénom: VALÉRIE
    Semaine: 4Prénom: MURIELLE
    Semaine: 4Prénom: ISABELLE
    Semaine: 4Prénom: OPHÉLIE
    Semaine: 4Prénom: LAURA
    Semaine: 4Prénom: PAULE
    Semaine: 4Prénom: YOANN
    Semaine: 4Prénom: ADELINE

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Il faut que tu stockes dans une base les différents tableau par semaine, et que tu compare donc avec ta dernière entrée. Quand je dis base, ça peut juste être les fichiers de tes tableau hein, je parles pas forcément d'une base oracle par exemple.

  6. #6
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    J'ai trouvé en me casant la tête toute une journée.
    avec un repet: for...
    et un break repet quand je trouve:
    Voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    System.out.println("");
    		    System.out.println("*******************SEMAINE 1*********************");
    		    int nbPrenomsP = Projection.length;
    		    int nbPrenomsQ = Quimper.length;
     
    		    //pour ecrire chaque heure pour chaque agent dans le fichier Quimper
    		    System.out.println("Quimper |  Projection");
    		    for (int y=0; y<nbPrenomsQ; y++){//pour chaque prénom de Quimper
    		    	if(Quimper[0][y]!=null){
    		    		int z, f=0;
    		    		repet :for(z = 0; z<nbPrenomsP; z++){//et pour chaque prenom du fichier Projection
    		    			if(Projection[0][z]!=null){
    		    				if(semaineP[1][f]==1){// si la semaine de l'agent en cours trouvée est = 1
    		    					//System.out.println("semaineP après le if"+semaineP[1][f]);
    		    					System.out.println(Quimper[0][y]+y+"   =   "+Projection[0][z]+z);
    		    					if(Quimper[0][y].equals(Projection[0][z])){//si le prénom du 1er fichier = prénom du 2ème fichier
    		    						//écrire ds "Quimper2_AS_OE_2012.xlsx", les heure de "Projection"/onglet dans les bonnes colonnes
    		    						row2 = sheet2.getRow(Integer.parseInt(Quimper[1][y]));// écrire à la ligne de l'agent
    		    						cell2 = row2.createCell(2);//on l'écrit à la colonne 2 (semaine 51)
    		    						cell2.setCellValue(tabheures[1][z]/24.0);
    		    						cellStyle = wb2.createCellStyle();
    		    						cellStyle.setDataFormat(fmt.getFormat("hh:MM"));
    		    						cell2.setCellStyle(cellStyle);
    		    						System.out.println("SEMAINE 1: "+Quimper[0][y]+y+"   =   "+Projection[0][z]+z+"a fait: "+tabheures[1][z]);
    		    						System.out.println("on écrit l'heure trouvée à la ligne"+Quimper[1][y]);
    		    						z=0;//POUR RETESTER LES AGENT DE LA SEMAINE 1
    		    						break repet;
    		    					}
    		    				}
    		    			}
    		    			// si la semaine de l'agent en cours trouvée n'est pas = 1: on passe au prénom suivant de Quimper
    		    			f++;
    		    		}//2eme for
    		    		z=0;
    		    	}//1er if
    		    }//2ème for
    		    System.out.println("*******************SEMAINE 4*********************");
    		    System.out.println("Quimper |  Projection");
    		    for (int y=0; y<nbPrenomsQ; y++){//pour chaque prénom de Quimper
    		    	if(Quimper[0][y]!=null){
    		    		int z, f=0;
    		    		repet :for(z = 0; z<nbPrenomsP; z++){//et pour chaque prenom du fichier Projection
    		    			if(Projection[0][z]!=null){
    		    				if(semaineP[1][f]==4){// si la semaine de l'agent en cours trouvée est = 1
    		    					//System.out.println("semaineP après le if"+semaineP[1][f]);
    		    					System.out.println(Quimper[0][y]+y+"   =   "+Projection[0][z]+z);
    		    					if(Quimper[0][y].equals(Projection[0][z])){//si le prénom du 1er fichier = prénom du 2ème fichier
    		    						//
    		    						System.out.println("SEMAINE 4: "+Quimper[0][y]+y+"   =   "+Projection[0][z]+z+"a fait: "+tabheures[1][z]);
    		    						z=0;//POUR RETESTER LES AGENT DE LA SEMAINE 1
    		    						break repet;
    		    					}
    		    				}
    		    			}
    		    			// si la semaine de l'agent en cours trouvée n'est pas = 1: on passe au prénom suivant de Quimper
    		    			f++;
    		    		}//2eme for
    		    		z=0;
    		    	}//1er if
    		    }//2ème for
    L'inconvénient c'est que ce n'est pas vraiment statique.

    Je dois faire ceci pour les 52 semaines de l'année espérons que ca va pas me faire un out of memory!

    Si quelqu'un a mieux, je suis preneur...

Discussions similaires

  1. changement une valeur dans un tableau par un autre
    Par nisrinege dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/08/2014, 10h00
  2. Tableau avec changement spontané des valeurs
    Par Hobbèse dans le forum Débuter
    Réponses: 4
    Dernier message: 01/02/2014, 12h37
  3. [MySQL] Parcours tableau php et prise en compte changement pour insertion BDD
    Par Florian_mbf dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/05/2013, 13h59
  4. [Tableau][matrices]changement d'index et variables variables
    Par The Wretched dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 18/04/2005, 10h01
  5. Intercepter le changement de valeur d'une variable
    Par Captain_JS dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/01/2005, 08h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo