Partage
  • Partager sur Facebook
  • Partager sur Twitter

java et ses tableau

    24 septembre 2011 à 14:47:05

    :( bonjour
    je débute avec java et je rencontre déjà un problème , je dois faire des ajouts , modifications et suppression d'étudiants dans un programme java, mais lorsque j'ajoute un nouveau étudiant , les précédents ne sont plus affichés. j'ai deux codes, un sans tableau qui s’exécute et un sans tableau qui ne s’exécute pas, aidez moi si vous le pouvez. Merci

    le 1er: import java.util.Scanner;


    public class Etudiant{
    private String nom;
    private String prenom;
    private String parcours;
    private String niveau;
    private int nb_etudiant;

    public Etudiant(){

    Scanner sc = new Scanner(System.in);
    System.out.println("Saisissez un nom : ");
    nom = sc.nextLine();
    System.out.println("Saisissez un prenom : ");
    prenom = sc.nextLine();


    int nb;

    do{

    System.out.println("Donnez un parcours: ");
    System.out.println("Tapez 1 pour le classique et 2 pour l apprentissage");
    int nbparcours = sc.nextInt();
    nb=nbparcours;
    if(nbparcours==1)
    {
    parcours="classique";
    }

    else if(nbparcours==2)
    {
    parcours="apprenti";
    }

    }while(nb<1 || nb>2);

    do{

    System.out.println("Donnez un niveau: ");
    System.out.println("Tapez 1 pour la premiere annee");
    System.out.println("Tapez 2 pour la deuxieme annee");
    System.out.println("Tapez 3 pour la troisieme annee");
    int nbniveau = sc.nextInt();
    nb=nbniveau;
    if(nbniveau==1)
    {
    niveau="1ere_annee";
    }

    if(nbniveau==2)
    {
    niveau="2eme_annee";
    }

    else if(nbniveau==3)
    {
    niveau="3eme_annee";
    }

    }while(nb<1 && nb>3);


    nb_etudiant=1;
    }



    public void afficher(){
    System.out.println(nom);
    System.out.println(prenom);
    System.out.println(parcours);
    System.out.println(niveau);
    System.out.println(nb_etudiant);
    }

    public void operations(){
    int choix;
    do{

    System.out.println("taper 1 pour ajouter un etudiant");
    System.out.println("taper 2 pour modifier un etudiant");
    System.out.println("taper 3 pour supprimer un etudiant");
    System.out.println("taper 4 pour quitter");


    Scanner sc = new Scanner(System.in);
    int choixoperation = sc.nextInt();
    choix=choixoperation;
    switch(choixoperation)
    {
    case 1 : nb_etudiant=ajouter(nb_etudiant); break;
    case 2 : modifier(); break;
    case 3 : supprimer(); break;
    case 4 : System.out.print("bye"); break;
    }
    }while(choix<1 && choix>4);


    }



    public int ajouter(int nb_etudiant){
    Scanner sc = new Scanner(System.in);
    System.out.println("Saisissez un nom : ");
    nom = sc.nextLine();
    System.out.println("Saisissez un prenom : ");
    prenom = sc.nextLine();

    int nb;

    do{

    System.out.println("Donnez un parcours: ");
    System.out.println("Tapez 1 pour le classique et 2 pour l apprentissage");
    int nbparcours = sc.nextInt();
    nb=nbparcours;
    if(nbparcours==1)
    {
    parcours="classique";
    }

    else if(nbparcours==2)
    {
    parcours="apprenti";
    }

    }while(nb<1 || nb>2);

    do{

    System.out.println("Donnez un niveau: ");
    System.out.println("Tapez 1 pour la premiere annee");
    System.out.println("Tapez 2 pour la deuxieme annee");
    System.out.println("Tapez 3 pour la troisieme annee");
    int nbniveau = sc.nextInt();
    nb=nbniveau;
    if(nbniveau==1)
    {
    niveau="1ere_annee";
    }

    if(nbniveau==2)
    {
    niveau="2eme_annee";
    }

    else if(nbniveau==3)
    {
    niveau="3eme_annee";
    }

    }while(nb<1 && nb>3);

    nb_etudiant= nb_etudiant+1;
    return nb_etudiant;
    }

    public void modifier(){
    System.out.println("modifie");
    }

    public void supprimer(){
    System.out.println("supprimer");
    }

    }
    public class PrincipalEtudiant{
    //méthode main() permettant de tester la classe Etudiant
    public static void main(String[] args){

    Etudiant MonEtudiant = new Etudiant();
    MonEtudiant.afficher();
    MonEtudiant.operations();
    MonEtudiant.afficher();


    }
    }
    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2011 à 14:52:37

      merci d'utiliser les balises de code pour qu'on puisse d'aider
      • Partager sur Facebook
      • Partager sur Twitter
        24 septembre 2011 à 16:55:28

        J'ai déjà repéré des erreurs toutes bêtes en survolant le code.
        Dans le while de tes do-while, parfois tu as (nb < 1 && nb >3), ce qui n'est pas possible...
        • Partager sur Facebook
        • Partager sur Twitter
          24 septembre 2011 à 18:02:01

          excusez moi, mais quelles balises? quest ce que cest? que dois je mettre dans le do while?
          • Partager sur Facebook
          • Partager sur Twitter
            24 septembre 2011 à 18:11:18

            Les balises Java, pour que le code soit indenté et coloré de façon à être lisible. Sans ça le code pique les yeux et quasiment personne ne t'aideras.

            Bah pour le do while tu n'as pas fait l'erreur partout donc tu dois le savoir... Au lieu de (nb<1 && nb>3) c'est plutôt (nb<1 || nb>3), non ?
            • Partager sur Facebook
            • Partager sur Twitter
              25 septembre 2011 à 19:22:16

              Citation : ivalavi6

              je dois faire des ajouts , modifications et suppression d'étudiants dans un programme java


              J'ai pas voulu lire ce code horrible qui n'est même pas mis entre balises comme on te l'a demandé.
              Mais vu ce que tu veux faire, utilises des ArrayList.
              Avec les méthodes add et remove, tu feras ce que tu veux.
              • Partager sur Facebook
              • Partager sur Twitter
                26 septembre 2011 à 10:11:51

                Au sujet des balises de code évoquées, il est question de ton premier message : il faut que tu l'édites, et que tu entoures le code que tu y as copié/collé par les balises <code type="java"> et </ code>. Ainsi, cela colorera ton code et le rendra lisible, ce qui n'est vraiment pas le cas actuellement. Voici un court exemple d'une partie de ton code affichée proprement :

                public void operations(){
                    int choix;
                    do{
                        System.out.println("taper 1 pour ajouter un etudiant");
                        System.out.println("taper 2 pour modifier un etudiant");
                        System.out.println("taper 3 pour supprimer un etudiant");
                        System.out.println("taper 4 pour quitter");
                
                        Scanner sc = new Scanner(System.in);
                        int choixoperation = sc.nextInt();
                        choix=choixoperation;
                        switch(choixoperation){
                            case 1 : nb_etudiant=ajouter(nb_etudiant); break;
                            case 2 : modifier(); break;
                            case 3 : supprimer(); break;
                            case 4 : System.out.print("bye"); break;
                        }
                    }while(choix<1 && choix>4);
                }
                
                • Partager sur Facebook
                • Partager sur Twitter

                java et ses tableau

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown