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

Java Discussion :

[Débutant] Problème de code(Diagramme de Gantt)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut [Débutant] Problème de code(Diagramme de Gantt)
    Voilà je dois faire un projet en java permettant de faire le diagramme de Gantt à partir des tâches que l'on rentre (pour la gestion de projets), on doit faire l'interface en mode texte seulement, mais il y a plusieurs problème dans le code (pas à la compilation mais dans le déroulement), je n'ai pas commenté donc je vais essayer d'expliquer vite fait : J'essaie de faire des tableaux où l'on peut rentrer les données (nom de la tâche, durée, code, prédécesseurs) et j'ai un problème déjà au niveau des prédécesseurs car je voulais faire un tableau de tableaux avec mon ArrayList en stockant le tableau temporaire contenant les prédécessurs à chaque tour de boucle mais bon ça ne marche visiblement pas :-W (j'avais juste rajouté le predecesseurs.get(i) pour voir le résultat), J'ai également un pb au niveau de la gestion des erreurs avec des ArrayOutOfBounds et NegativeSize







    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     import java.io.*;
    import java.util.ArrayList;
     
    public class Projet
     
    {
     
    public static void main(String [] ar)
    {
        int x=0;
        Reader reader1 = new InputStreamReader(System.in);
        BufferedReader keyboard1 = new BufferedReader(reader1);
        System.out.println("Combien de taches souhaitez vous accomplir?");
        try
            {x = Integer.parseInt(keyboard1.readLine());}
        catch(Exception err1)
            {System.out.println("Ceci n'est pas un entier.");}
        String[] taches = new String[x];
        String[] codes = new String[x];
        int[] durees = new int[x];
        int[] nbpredecesseurs = new int[x];
        ArrayList predecesseurs = new ArrayList();
        for(int i=0;i<x;i++)
            {
            Reader reader2 = new InputStreamReader(System.in);
            BufferedReader keyboard2 = new BufferedReader(reader2);
            Reader reader3 = new InputStreamReader(System.in);
            BufferedReader keyboard3 = new BufferedReader(reader3);
            Reader reader4 = new InputStreamReader(System.in);
            BufferedReader keyboard4 = new BufferedReader(reader4);
            Reader reader5 = new InputStreamReader(System.in);
            BufferedReader keyboard5 = new BufferedReader(reader5);
            Reader reader6 = new InputStreamReader(System.in);
            BufferedReader keyboard6 = new BufferedReader(reader6);
            int j=i+1;
            System.out.println("Entrez la tache numero "+j+" :");
            try
                {taches[i] = keyboard2.readLine();}
            catch(IOException err2)
                {System.out.println("Ceci n'est pas une chaine de caracteres.");
                taches[i]="error";
                }
            System.out.println("Entrez son code :");
            try
                {codes[i] = keyboard3.readLine();}
            catch(IOException err3)
                {System.out.println("Ceci n'est pas une chaine de caracteres.");
                codes[i]="error";
                }
            System.out.println("Quelle est sa duree?");
            try
                {durees[i] = Integer.parseInt(keyboard4.readLine());}
            catch(Exception err4)
                {System.out.println("Ceci n'est pas un entier.");
                durees[i]=-1;
                }
            System.out.println("Combien a-t-il de predecesseurs?");
            try
                {nbpredecesseurs[i] = Integer.parseInt(keyboard5.readLine());}
            catch(Exception err5)
                {System.out.println("Ceci n'est pas un entier.");
                nbpredecesseurs[i]=-1;
                }
            if (nbpredecesseurs != null)    
                {String[] predecesseurstemp = new String[nbpredecesseurs[i]];
                System.out.println("Quels sont ces predecesseurs?");
                for(int z=0;z<nbpredecesseurs.length;z++)
                    {
                    try
                        {predecesseurstemp[z]=keyboard6.readLine();}
                    catch(Exception err6)
                        {System.out.println("Ceci n'est pas une chaine de caracteres");
                        predecesseurstemp[z]="error";
                        }
                    }
                predecesseurs.add(i,predecesseurstemp);
                }
            System.out.println("La tache numero "+j+" est : "+taches[i]+
            ", son code est : "+codes[i]+", sa duree est : "+durees[i]+"."+predecesseurs.get(i));
            }
     
        }
     
    }

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Vous utilisez les Arraylist de travers. Les Arraylist sont des tableaux à une seule dimension, et de taille variable. Quand vous tapez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    predecesseurs.add(i,predecesseurstemp)
    Vous ajoutez le nouvel élément à la place de l'élément i de l'arraylist, pas à sa suite.
    Bref la structure d'un ArrayList est
    1
    2
    3
    4
    ...
    et non
    1
    2, 2.1, 2.2
    3, 3.1
    ...

    Par ailleurs, puis-je me permettre une critique? On ne code pas en Java comme en C. Vous êtes un débutant, aussi c'est peut-être une notion que vous n'avez pas vu, mais vous devriez étudier la programmation objet pour faire du Java. Et créer un classe Tache pour gérer celles-ci.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Oui je pense que je vais devoir revoir l'organisation de mon code car c'est vrai que c'est pas trop orienté objet mais bon j'suis pas trop à l'aise, j'suis qu'en 1ere année de DUT info et je suis pas très bon en algo :-W

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Par défaut
    Faudrait venir en amphi pour espérer progresser ... Enfin c'est vrai que t'as pas trop l'air d'avoir saisi le concept de la programmation orientée objet ... Tout faire dans le main c'est peut-être pas le must.

    C'est même à se demander si tu viens en TP ... Parce que t'en est quasiment au point mort, et ce qu'on fait c'est dans la continuité de Squeak, donc ça suppose que t'as rien compris à Squeak non plus. Enfin, quand même on voit que tu as compris comment utiliser les InputStreamReader et les BufferedReader, même si il y a une grosse différence entre comprendre comment utiliser et savoir utiliser.

    Bon, si tu éspères te faire mâcher le travail par quelqu'un d'autre, t'auras surement une bonne note, mais tu vas te planter au DS ( par contre si tu trouves pas de pigeon, tu vas te planter aux 2 )

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Meme si ton "ami" Sikary a raison et qu'on ne va pas te pondre ton projet, ce forum est tout de meme un bon point de départ pour obtenir des conseils pertinents.

    Propose toujours une idée d'implémentation objet de la classe Tache apres avoir lu quelques tuto et je suis sur qu'une bonne âme pourra t'aider à corriger tes erreurs.

    Faut juste prendre le problème d'un point de vue plus abstrait que le C.

    genre c'est quoi une tache ? qu'est ce qu'elle doit faire ...

    Accroche toi, tu verras c cool le Java

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Tiens un sujet qui date de 5 mois ^^ désolé pour la remontée inutile mais bon juste pour dire aux débutants que quand on persévère on y arrive J'ai recommencé ce projet en partant sur une meilleure base et j'ai demandé de l'aide au prof et à quelques personnes sur les points que je ne comprenais pas, ce qui m'a permis de m'améliorer un peu Comme quoi, il faut pas grand chose pour comprendre, seulement des personnes intelligentes.

    -------------------------------------------------------------

    /*En réponse personnelle, effectivement j'étais une grosse brêle en Squeak et je le suis toujours d'ailleurs car j'aime pas vraiment programmer sur qqch d'aussi abstrait. Pour le java, désolé mais je ne me suis planté à aucun des deux, je sais que ça t'attriste profondément mais même en essayant de couler les personnes que tu n'apprécies pas, ça ne marche pas, bonne chance pour trouver le moyen, t'es pas le premier et pas le dernier Puis bon de la part de qqn qui s'est vu son semestre ajourné pour absentéïsme, les reproches sur les amphis d'algo... moyen quoi.*/

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

Discussions similaires

  1. rs 232 et assemblage de deux codes C
    Par ahmednaess dans le forum C
    Réponses: 4
    Dernier message: 01/07/2013, 19h46
  2. Diagramme de Gantt avec du code
    Par mimosa803 dans le forum SharePoint
    Réponses: 5
    Dernier message: 18/04/2008, 08h55
  3. Lecture code barre - Emulation RS-232
    Par Tetram165 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/12/2007, 11h34
  4. Lecture code barre - Emulation RS-232
    Par Tetram165 dans le forum Périphériques
    Réponses: 2
    Dernier message: 05/12/2007, 10h18
  5. [Pseudo-Code] Diagramme
    Par gl0be dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/04/2006, 17h19

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