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 :

afficher un tableau et appel de methode


Sujet :

Collection et Stream Java

  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut afficher un tableau et appel de methode
    bonjour à tous !
    voilà j'essaye de faire un tri d'elements d'un tableau et je ne sais pas si l'appel de mes methodes sont bonnes ou non
    je ne sais pas quoi mettre dans ma methode afficher() pour afficher le tableau c'est la misere je sais pas qoui mettre dedans

    voici ce que j'ai pu dejà un peu faire :
    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
     
     
    import java.lang.Object;
    import java.util.*;
     
     
    public class tableau 
    {
    	private int [] nombre = {5, 3, 2, 4, 1};
     
     
    	void tri_Inser()
    	{
    		int i, j, v;
    		for (i=0; i<nombre.length ; i++)
    		{
    			j=i-1;
    			v = nombre[i];
    			while(j>0 && nombre[j]>v)
    			{
    				nombre[j+1] = nombre[j];
    				j=j+1;
    			}	
    			nombre[j+1] = v;
    		}
    	}
     
    	void afficher()
    	{
    		//return.... ;
     
    	}
     
    	public static void main (String[] args)
    	//appel de la methode tri_insert() et afficher()
    	// affichage du tableau
    	{
     
    		tableau table = new tableau();
    		table.tri_Inser();
    		table.afficher();
     
     
    	}
     
    }
    si quelq'un peut m'aider

    merci d'avance

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Tu fais une boucle qui permet d'afficher tous tes éléments un par un...

    Ou alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Arrays.asList(tonTableau));

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    merci!!
    j'ai mis System.out... et j'ai des erreurs :
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at tableau.tri_Inser(tableau.java:20)
    at tableau.main(tableau.java:39)

    je sais pas trop ce que ça veut dire

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par oceane751
    merci!!
    j'ai mis System.out... et j'ai des erreurs :
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at tableau.tri_Inser(tableau.java:20)
    at tableau.main(tableau.java:39)

    je sais pas trop ce que ça veut dire
    Ca veut dire que tu dépasses ton tableau... Et vu la trace, ça ne vient pas du System.out

  5. #5
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ah oki
    mais faut peut etre pas mettre "tableau table = new tableau();" car le nom de mon tableau est "nombre" et non "table"

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par oceane751
    ah oki
    mais faut peut etre pas mettre "tableau table = new tableau();" car le nom de mon tableau est "nombre" et non "table"
    Non, pas du tout... (D'ailleurs, tableau devrait être Tableau, un nom de classe commence par une majuscule)...

    Le problème, là, c'est plutôt algorithmique, regarde ta boucle en j, elle est fausse...

  7. #7
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    arf flute
    regarde ce que m'a donné mon prof :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Pour i variant de 2 à N Faire
    j←i-1 ;
    x←T[i]
    Tant Que ( j>0 ET T[j]>x ) Faire
    T[j+1]←T[j]
    j←j-1
    Fin Tant Que
    T[j+1]←x
    Fin Pour
    et j'ai essayé de mettre ça en java
    je vois pas l'erreur

  8. #8
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Bah, tu fais j = j + 1, alors qu'il faudrait le décrémenter

  9. #9
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ah ba oauis... lol merci
    là j'ai plus d'erreur mais j'ai ceci "[tableau@10b62c9]" qui s'affiche... je ne sais pas ce que c'est on plus..

  10. #10
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par oceane751
    ah ba oauis... lol merci
    là j'ai plus d'erreur mais j'ai ceci "[tableau@10b62c9]" qui s'affiche... je ne sais pas ce que c'est on plus..
    Tu n'as pas fait exactement ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Arrays.asList(tonTableau));
    Tu as dû oublier le Arrays.asList(...)...

  11. #11
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    beuuu j'ai mis ça : "System.out.println(Arrays.asList(table));"

  12. #12
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    c'est pas dans le void afficher() qu'il faut le mettre?
    si c'est ça j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void afficher()
    	{
    		System.out.println(Arrays.asList(nombre));
     
    	}
    et ça m'affiche :" [[I@10b62c9]"

  13. #13
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par oceane751
    c'est pas dans le void afficher() qu'il faut le mettre?
    si c'est ça j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void afficher()
    	{
    		System.out.println(Arrays.asList(nombre));
     
    	}
    et ça m'affiche :" [[I@10b62c9]"
    Ah ouais, tiens, étonnant cette liste...
    Bon alors fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Arrays.toString(nombre));

  14. #14
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ah ba là le tablo s'affiche bien merci !! mais ça ne s'affiche pas el tablo trié..
    bouu ca menerve je lui demande pourtant de l'afficher..

  15. #15
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    oui, mais si t'as donnée une des piluled rose que t'as en photo a ton prof ca ne va pas aller

    Je ne sais pas ce que tu veux faire comme tri, mais je pense que ton algo a un probleme.

    au premier passage J = -1 donc il ne rentre pas dans le while et tu met met la premiere case dans la premiere case...
    au second passage J=0 donc il ne rentre pas dans le while et tu met met la deuxieme case dans la deuxieme case...

    je ne vais pas plus loin, mais deja la il me semble que tu ne vas ps trier grandchose

  16. #16
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    lol non jai rien donné au prof lol
    c'est un tri par insertion
    Algorithme pour un tableau de taille N :
    Pour i variant de 2 à N Faire
    j←i-1 ;
    x←T[i]
    Tant Que ( j>0 ET T[j]>x ) Faire
    T[j+1]←T[j]
    j←j-1
    Fin Tant Que
    T[j+1]←x
    Fin Pour

    c'est trop la galere...

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/05/2006, 18h43
  2. Réponses: 2
    Dernier message: 15/08/2005, 20h54
  3. [Compilateur] appel de méthodes avec signature similaire
    Par Monkeyget dans le forum Général Java
    Réponses: 4
    Dernier message: 30/03/2005, 20h14
  4. Réponses: 2
    Dernier message: 03/03/2005, 14h57
  5. AFFICHER UN TABLEAU DYNAMIQUE
    Par ghassenus dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2002, 14h19

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