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 :

Modification des elements d'un tableau


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut Modification des elements d'un tableau
    salut,et bonne année à tout le monde.Bon j'ai fait un programme qui modifie les elements d'un tableau saisis au debut
    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
    62
    63
    64
    65
    66
     
    import java.util.Scanner;
    public class Modification1 {
     
    public static void  initialisation(int []t){
    		Scanner lire= new Scanner(System.in);
    		int i;
     
     
    		for( i=0;i<t.length;i++){
    			System.out.println("saisir le "+i+" element");
    			t[i]=lire.nextInt();
    					}
    	}
     
    public static void  affichage0(int []t){
    	for( int i=0;i<t.length;i++){
    		System.out.print("/"+t[i]);
     
    				}}
     
     
    public static void  test(int []t){
    			Scanner lire= new Scanner(System.in);
    			String reponse="";
    		while(!reponse.equals("non")){
    		System.out.println("saisir l'indice de la position :");
    		int p=lire.nextInt();
    		System.out.println("voulez vous modifier ces elements ?? tapez OUI pour modification et AUTRES pour sortir");
    		String rep=lire.next();
    			if(rep.equals("oui")|| rep.equals("OUI")){
     
    			System.out.println("par quel nombre voulez vs le modifié??");
    				int nombre=lire.nextInt();
    				t[p]=nombre;
    			System.out.println("voulez-vous modifier un autre element??");
    			 reponse=lire.next();
     
    		}
    			else System.exit(0);	
    		}
    		}		
     
    public static void  affichage(int []t){	
     
     
    			for( int i=0;i<t.length;i++){
    						System.out.println(t[i]);
     
    }}
     
     
    public static void main(String[] args) {
    	Scanner lire= new Scanner(System.in);
    	System.out.println("donner le nombre d'elements du tableau : ");
    	int n=lire.nextInt();
        int []tab=new int[n];
     
        	initialisation(tab);
            test(tab);
            System.out.println("FIRST ELEMENTS:");
            affichage0(tab);
            System.out.println("");
            System.out.println("NEW ELEMENTS:");
            affichage(tab);
    }}
    mais le probléme c'est lors de l'affichage des premiers elements saisis"procédure affichage0" il me donne les nouvelles valeurs des elements du tableau,enfin de compte je veux afficher les 2 :
    FIRST ELEMENTS:....

    NEW ELEMENTS:.....
    mais pour FIRST elements il me donne les memes que NEW elements
    donc voila.VOTRE AIDE SVP.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 94
    Par défaut
    Entre "affichage0" et "affichage" il n'y à aucune modification du "tab".

    Ou je n'ai pas compris la question ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
           System.out.println("FIRST ELEMENTS:");
            affichage0(tab);
            System.out.println("");
            System.out.println("NEW ELEMENTS:");
            affichage(tab);

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut grungy-soul
    Bon,je vais récapituler mon probléme.En fait je veux afficher à la fin du programme les elements du tableau saisis au debut"initialisation" et les elements du tableau aprés modification,par exemple:dans l'initialisation,si j'ai fait entré les valeurs suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    t[0]=1
    t[1]=2
    t[2]=3
    et apré modification j'aurai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    t[0]=11
    t[1]=22
    t[2]=33
    à la fin je veux qu'il m'affiche le resultat de cette facon la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FIRST ELEMENTS:1/2/3
    NEW ELEMENTS(aprés modification):11/22/33
    donc voila.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut grungy-soul
    SVP,j'atten toujours vos idées pour résoudre mon probléme

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Si tu veux afficher les permières valeurs de ton tableau, tu es obligé de les sauvegarder (dans une copie de ton tableau par exemple).

    Le tableau (et de manière générale une variable) n'a pas de "mémoire" dans précédentes valeurs qu'il a eues.

    Citation Envoyé par grungy-soul Voir le message
    SVP,j'atten toujours vos idées pour résoudre mon probléme
    Je te suggère vivement d'être plus poli à l'avenir: personne n'est à ton service ici, et nous sommes en week-end.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut grungy-soul
    Merci pour l'info.

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut grungy-soul
    J'ai essayé de le sauvegarder comme tu avais dit alors j'ai ajouté une procédure pour le sauvegarder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    .
    .
    .
    public static void  sauvegarder(int []t1,int []t){
    	int i;
    	for( i=0;i<t1.length;i++){
    		t1[i]=t[i];
    		System.out.print("/"+t1[i]);
    				}}
    ....
    et là il m'affiche une erreur dans le MAIN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    System.out.println("FIRST ELEMENTS:");
            sauvegarder(tab);
    //the method sauvegarder (int []t1,int []t) in he type midification1 is not applicable for the arguments

  8. #8
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static int[] dupliquer(int origine[]) {
            int[] copie = new int[origine.length];
            for (int i=0, max = origine.length; i<max; i++) {
                copie[i] = origine[i];
            }
            return copie;
        }
    et tu l'utilises comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int[] maCopie = dupliquer(t);

  9. #9
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static int[] dupliquer(int origine[]) {
            int[] copie = new int[origine.length];
            System.arraycopy(origine, 0, copie, 0, origine.length);
            return copie;
    }
    ou même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static int[] dupliquer(int origine[]) {
            int[] copie = (int[]) origine.clone();
            return copie;
    }

  10. #10
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 111
    Par défaut
    On voit les habitués du clonage
    je vais retenir ca.

    bon ben on peut encore simplifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int[] maCopie = (int[]) t.clone();

  11. #11
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 83
    Par défaut grungy-soul
    merci pour vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Somme des elements d'un tableau multi-dimension
    Par kika18 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/12/2007, 11h19
  2. Ajouter des elements a un tableau de float
    Par Vinc35 dans le forum C
    Réponses: 13
    Dernier message: 12/12/2007, 14h34
  3. Réponses: 2
    Dernier message: 14/09/2006, 22h26
  4. [Tableaux] Somme des éléments d'un tableau
    Par brazilpalace dans le forum Langage
    Réponses: 3
    Dernier message: 02/08/2006, 12h17
  5. [langage] Compter des éléments dans un tableau
    Par helene22500 dans le forum Langage
    Réponses: 29
    Dernier message: 23/05/2005, 11h38

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