Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Apprenez à programmer en Java

    30 juin 2015 à 11:24:35

    Bonjour, il y a une partie du cours que je ne comprends pas et je n'arrive pas à trouver l'explication dans le dit cours : sauf erreur de ma part tu commences à utiliser this.variable dans la partie héritage. Autant je comprends l'utilité de this.methode() à l'intérieur de la classe implémentant methode() (et encore certaine fonctionnent sans l'utilisation du this. comme http://openclassrooms.com/courses/apprenez-a-programmer-en-java/notre-premiere-fenetre#/id/r-2182704) mais pour les variables je ne comprends pas. Pourrait-on m'éclairer sur ce point ? Quand faut-il absolument utiliser this.methode() et this.variable ? Pourquoi l'utiliser quand ce n'est pas nécessaire ?

    Merci d'avance :)

    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2015 à 5:27:35

      salut,

      je voudrais manipuler des nombres de très larges valeurs. Mais la valeur maximum en Java est celle du type double :1.79769313486231570e308 alors quoi faire?

      • Partager sur Facebook
      • Partager sur Twitter
      If you think my french is weird  then you gotta hold your laughing while hearing  me speaking in it :p
        1 juillet 2015 à 12:09:02

        Tu stockes tes nombres dans des Strings.

        Par contre, il faut revoir les opérations de base si nécessaire.

        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2015 à 2:32:21

          Le problème c'est que j'ai besoin de faire des calculs et aussi utiliser des fonctions de la classe Math. Je veux calculer 2 puissance n tel que n dépasse la limite des valeurs des types primaires.
          • Partager sur Facebook
          • Partager sur Twitter
          If you think my french is weird  then you gotta hold your laughing while hearing  me speaking in it :p
            2 juillet 2015 à 16:13:26

            Bonjour,

            Concernant l'activité de la partie 2, est-ce qu'un troisième lancement du programme de test affiche 12 voitures ?

            • Partager sur Facebook
            • Partager sur Twitter
              2 juillet 2015 à 18:11:18

              on a deux tableaux A et B et C , par exemple : A=1,2,3 et B =3,5,6 

              Et C=1,3,2,5,3,6 , il prend le premier chiffre de chaque table et après le 2eme et le 3eme ...

              Comment on peut le faire avec JavaScript ??  

              • Partager sur Facebook
              • Partager sur Twitter
                6 juillet 2015 à 11:58:46

                sdj a écrit:

                sdj a écrit:

                Bonjour,

                j'ai une erreur lorsque je lance eclipse sous mon MAC OS X:

                Version 1.6.0_65 of the JVM is not suitable for this product.

                ALors que j'ai installé jre 8u45, je précise que lors du lancement d'eclipse, j'ai l'impression que ça réinstalle une autre version de jre.

                Que dois je faire?

                Merci d'avance.

                Finalement j'ai installé le jdk et je n'ai plus de problème, j'imagine que c'était un problème de chemin mal renseigné mais je ne sais même pas ou était installé jre sous mon mac.

                Si quelqu'un sait me répondre comme il falait faire, je suis preneur.

                Merci d'avance.



                Il m'est arrivé la même chose.

                -
                Edité par afournier 6 juillet 2015 à 13:02:52

                • Partager sur Facebook
                • Partager sur Twitter
                  6 juillet 2015 à 12:57:20

                  Bonjour,

                  J'ai voulu faire un "Hello World !" mais je n'arrive pas à le lancer.

                  J'ai appuyé sur ce boutton :

                  Et j'ai obtenu cette boîte de dialogue :

                  Qu'est-ce que je peux faire pour m'en sortir, svp ?

                  Merci par avance

                  -
                  Edité par afournier 6 juillet 2015 à 17:48:17

                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 juillet 2015 à 3:49:55

                    Bonjour, je viens seulement de finir le premier TP du cours (le convertisseur de températures) et j'ai un petit souci : je n'arrive pas à comprendre pourquoi je ne peux pas rentrer de température qui ne soit pas un entier alors que j'ai bien déclaré la variable stockant la température comme un double... Voici mon code, si ça peut aider :

                    import java.util.Scanner;

                    public class TPCelsiusFahrenheit {

                        public static void main(String[] args) {
                            // TODO Auto-generated method stub
                    Scanner sc=new Scanner(System.in);
                    char conversion=' ',reponse=' ';
                    double temperatureAConvertir, temperatureConvertie;
                    do{
                        do{
                            System.out.print("Choisissez la conversion à effectuer \n");
                            System.out.print("1-Celsius à Fahrenheit \n");
                            System.out.print("2-Fahrenheit à Celsius \n");
                            conversion=sc.nextLine().charAt(0);
                            if(conversion != '1' && conversion != '2')
                                System.out.print("Choisissez une conversion proposée \n");
                            }while(conversion != '1' && conversion != '2');
                        System.out.print("Indiquez la température à convertir \n");
                        temperatureAConvertir=sc.nextDouble();
                        sc.nextLine();
                        if (conversion=='1'){
                            temperatureConvertie=((9.0/5.0)*temperatureAConvertir)+32.0;
                            System.out.print(temperatureAConvertir + "°C correspond à " + temperatureConvertie + "°F \n");
                        }
                        if (conversion=='2'){
                            temperatureConvertie=(temperatureAConvertir-32.0)*(5.0/9.0);
                            System.out.print(temperatureAConvertir + "°F correspond à " + temperatureConvertie + "°C \n");
                        }
                        do{
                            System.out.print("Voulez-vous: \n O-Recommencer \n N-Quitter \n");
                            reponse=sc.nextLine().charAt(0);
                        }while(reponse!='O' && reponse!='N');
                    }while(reponse=='O');
                    System.out.print("Au revoir !");   
                    }
                        }

                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 juillet 2015 à 9:48:05

                      @CPython : Tu peux entrer des nombres décimaux à convertir mais, bien que ton code prenne un point à la place d'une virgule, les informations que tu rentres dans la console utilisent une virgule (je ne sais pas pourquoi, mais j'ai remarqué ça). Si tu mets un point, Java va  reconnaître une String alors que tu utilises nextDouble().

                      EN résumé quand tu veux entrer des doubles par la console, utilise la virgule et non le point !

                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 juillet 2015 à 14:14:18

                        Bonjour,

                        Après avoir réussi à afficher un "Hello World !" dans la console, je rencontre un problème avec le code du TP "Réaliser un garage"...

                        Je n'arrive pas à l'afficher dans la console. Est-ce parce que le code est plein de rouge ?

                        Merci par avance

                        -
                        Edité par afournier 8 juillet 2015 à 16:17:52

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 juillet 2015 à 13:16:46

                          @afournier je ne suis pas sûr que passer du hello world à un tp de la partie 2 soit la meilleure façon d'apprendre.

                          Dans ton code, il y a de nombreuses erreurs que tu pourras régler quand tu auras fait tous les chapitres des parties 1 et 2.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 juillet 2015 à 20:36:58

                            @MrPotatow : Pour l'instant, j'ai des difficultés avec Eclipse. Mon problème c'est que je ne suis pas bilingue.

                            Comment coder si je ne comprends pas toutes les fonctionnalités d'Eclipse?

                            En fait, je n'ai pas la console tout le temps et j'aimerais bien comprendre pourquoi ?

                            Si je me fixe uniquement sur les cours et que j'abandonne Eclipse cela va me poser problème ?

                            Et de ne pas comprendre Eclipse, cela finit par m'énerver. Je finis peut-être par prendre le problème du mauvais côté et ne plus faire les bons choix pour y arriver avec Java.

                            Et quand j'ai vu tout ce rouge, j'ai paniqué.

                            J'ai tellement envie d'y arriver avec Java...

                            En bref, je suis dans le brouillard...

                            • Partager sur Facebook
                            • Partager sur Twitter
                              9 juillet 2015 à 21:21:03

                              @afournier : Je pense que tout est rouge car tu n'as pas récupéré les classes que tu utilises dans ta méthode main.

                              Concernant la console, lorsque tu exécuteras le code, elle s'affichera, ne t'inquiète pas mais tu tiens absolument à l'avoir tout le temps c'est dans "Windows/show view/console".

                              Cependant, je rejoins MrPotatow, tu brules clairement des étapes et ton problème est très révélateur de cet état de fait.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                10 juillet 2015 à 8:04:28

                                Bonjour, 

                                Je rencontre une difficulté dans le TP de la semaine deux. Les <Option> du Vehicule sont géré par une interface. 

                                Dans l'exemple sur les interface du cours les différentes "options" n'affiche que du texte. Dans le cas présent elle doivent ajouter une option

                                Or on a une méthode addOption dans la Classe véhicule, du coup je tourne en rond je ne sais pas que mettre dans mes méthode d'interface, du coup mon soft me dit qu'il ne peu pas initialisé les éléments.

                                voici mon code

                                // main.java
                                
                                import fr.mooc.vehicule.*;
                                import fr.mooc.moteur.*;
                                
                                
                                public class main 
                                {
                                
                                	public static void main(String[] args) 
                                	{
                                		// TODO Auto-generated method stub
                                		MoteurHybride Test = new MoteurHybride("ESSENCE/Electrique", 12345.95d);
                                		System.out.println(Test);
                                		
                                		
                                		 Vehicule lag1 = new Lagouna();
                                	   	 lag1.setMoteur(new MoteurEssence("150 Chevaux", 10256d));
                                	   	 lag1.addOption(new GPS());
                                	   	 System.out.println(lag1);
                                		
                                	}
                                
                                }
                                

                                Ma classe vehicule

                                package fr.mooc.vehicule;
                                import java.util.LinkedList;
                                import java.util.List;
                                
                                import fr.mooc.moteur.*;
                                
                                public abstract class Vehicule implements Option
                                {
                                	protected double prix;
                                	protected String nom;
                                	//protected Option opti;
                                	protected List options = new LinkedList();
                                	protected Marque nomMarque;
                                	protected Moteur moteur;
                                	
                                	public Vehicule()
                                	{
                                		this.prix = 0;
                                		this.nom = "Tuture";
                                		this.nomMarque = null;
                                	}
                                	
                                	public String toString()
                                	{
                                		String str = new String();
                                		str = nomMarque + " " + nom + " Prix : " + prix + "\n Avec un moteur " + moteur;
                                		for(int i = 0; i < options.size(); i++)
                                		{
                                			str += "option : " + options.get(i);
                                		}
                                		
                                		return str;
                                	}
                                	
                                	  public void addOption(String opt)
                                	  {
                                		  options.add(opt);
                                	  }
                                	
                                	public Marque getMarque()
                                	{
                                		return this.nomMarque;
                                	}
                                	
                                	 public List getOptions()
                                	 {
                                		 return this.options;
                                	 } 
                                	 
                                	
                                	public double getPrix()
                                	{
                                		return this.prix;
                                	}
                                	
                                	public void setMarque(Marque marque)
                                	{
                                		this.nomMarque = marque;
                                	}
                                	
                                	public void setMoteur(Moteur moteur)
                                	{
                                		this.moteur = moteur;
                                	}
                                		
                                	public void GPS()
                                	{
                                		
                                	}
                                	
                                	public void Climatisation()
                                	{
                                	
                                	}
                                	
                                	public void BarreDeToit()
                                	{
                                		
                                	}
                                	
                                	public void SiegeChauffant()
                                	{
                                		
                                	}
                                	
                                	public void VitreElectrique()
                                	{
                                		
                                	}
                                	
                                }
                                

                                Et mon interface option 

                                package fr.mooc.vehicule;
                                
                                public interface Option 
                                {
                                	// public Double getPrixOption();
                                	
                                	public void GPS();
                                	public void Climatisation();
                                	public void BarreDeToit();
                                	public void SiegeChauffant();
                                	public void VitreElectrique();
                                	
                                }
                                

                                De plus dans le diagramme fourni comme base pour le TP il est fait référence a une méthode getPrix(): Double

                                Je ne comprend pas trop comment l'implémenté car dans le principe des interfaces elle rentre en conflit avec getPrix de vehicule.

                                Voici mon erreur

                                Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
                                	GPS cannot be resolved to a type
                                
                                	at main.main(main.java:17)



                                Quelqu'un aurait il une piste . merci d'avance



                                -
                                Edité par Letto 10 juillet 2015 à 8:12:08

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  10 juillet 2015 à 12:13:45

                                  @afournier pour ton problème de langue, il y a des traductions d'Eclipse (malheureusement pas complètes) ici : https://babel.eclipse.org/babel/

                                  Je pense aussi que l'utilisation d'Eclipse te viendra par habitude même sans comprendre l'anglais.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    11 juillet 2015 à 12:44:24

                                    Bonjour, j'ai un problème avec la partie 1 sur la class Scanner, pour lire les entrée clavier. Je ne comprend pas le principe de la "tête de lecture" si quelqu'un pouvait m'éclairer ça m'aiderait beaucoup ! 

                                    Merci :)

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      11 juillet 2015 à 14:32:17

                                      Hello Cysboy,

                                      Juste un petit post pour te remercier de ton cours ! Je viens de terminer la partie 1, je me suis bien éclaté c'était très enrichissant. Je voulais faire une leçon par jour, je suis tellement à fond que j'en fait deux par jour :)

                                      Merci à toi !

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        11 juillet 2015 à 18:30:22

                                        Letto_04

                                        Vos difficultés viennent d'une mauvaise lecture du diagramme. Un lien d'implémentation est représenté par une flêche en pointillé.

                                        Voici quelques corrections :

                                        • La classe Vehicule n'implémente pas l'interface Option.
                                        • GPS, ... , VitreElectrique sont des classes qui implémentent l'interface Option.

                                        Cela va vous amener à changer beaucoup de choses dans votre code, bon courage.

                                        -
                                        Edité par Tiga 11 juillet 2015 à 18:30:42

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          13 juillet 2015 à 15:53:02

                                          Bonjour, il y a quelque chose que je ne comprends pas dans la partie sur les interfaces. 

                                          En fait on nous dit que sans les interfaces on placerait nos méthodes dans la classe fille mais que ce ne serait pas bon, et plus loin dans le cours à la fin il implémente les méthodes contenues dans l'interface parente dans la classe fille ce qui revient exactement au même. Du coup je vois pas bien l'intérêt du concept. Autant les implémenter directement dans la classe fille sans créer d'interfaces.

                                          Ou alors j'ai carrément rien compris au cours.

                                          -
                                          Edité par Roofty 13 juillet 2015 à 15:53:38

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Since 2007 (c)
                                            14 juillet 2015 à 12:29:56

                                            Coucou,

                                            Petite question surement très simple sur la partie 2, l'héritage. Est-ce que les classes héritées (par ex ici la Capitale) doit être codée dans le cadre d'une nouvelle classe ou est-ce que mettre tout le code (constructeur, méthodes...) tout en bas du code de la classe mère Ville est la bonne manière de procéder ?

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              14 juillet 2015 à 13:39:50

                                              Bonjour

                                              j’essaie de lire le cours et de le comprendre ce qui n'est pas facile  c'est la premier fois que je fait de la programmation, je doit avoué que je suis un peut perdu je suis dans le chapitre 3 "lire les entrées clavier" mais je bug au début parce que je ne comprend ce que veut dire " créez une nouvelle classe et tapez cette ligne de code dans votre méthode main " ?  Que veut dire méthode main ?? 

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 juillet 2015 à 23:09:41

                                                cysboy a écrit:

                                                Bonjour.

                                                @tovonirinarazafindramanana : le lien que tu as mis vers l'archive fonctionne...

                                                @loggy147 : il te manque un accolade pour fermer la méthode main...


                                                @loggy147 : ... et des " " autour de <Hello world !>.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Celui qui refuse d'être meilleur cesse déjà d'être bon.
                                                  16 juillet 2015 à 14:20:33

                                                  Edit : je suis un boulet j'ai trouvé la réponse ici : https://openclassrooms.com/forum/sujet/besoin-d-explication-niveau-debutant

                                                  Bonjour, je débute en java et en programmation. j'ai besoin de plus amples explications concernant la création de la méthode parcourir tableau de la première partie.

                                                  Dans le code suivant :

                                                  static void parcourirTableau(String[] tabBis)
                                                    {
                                                      for(String str : tabBis)
                                                        System.out.println(str);
                                                    }

                                                  Je ne comprends pas le fonctionnement des arguments String[] et tabBis.

                                                  De plus, je ne comprends pas le fonctionnement du for. Que signifient les deux points ":" entre String[] et tabBis?

                                                  Merci par avance de vos réponses.

                                                  -
                                                  Edité par benoitlucas 16 juillet 2015 à 19:41:26

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    17 juillet 2015 à 14:24:31

                                                    Bonjour,

                                                    Je travaille actuellement sur une IHM développé en JAVA. Je dois refactorer le code et le transformer en pattern MVC.

                                                    L'application contient plusieurs packages (actionsboutons, actionsmenu, interfacegraphique, receptiontrame ...).

                                                    Merci de m'orienter sur quelques pistes suivant les questions ci-dessous selon votre expérience:

                                                    -est-ce je dois créer 3 packages (modèle, vue et contrôleur)  et repartir tous les classes la-dedans?

                                                    -le package actionsboutons contient les classes d'écoute des boutons que l'ihm contient, ces derniers sont l'extension de la classe AbstractAction. De ce fait, est-ce que ce package appartient au modèle ou bien au contrôleur car il contient les traitements enclenchés après les cliques sur les boutons. Est-ce que je dois rapporter des changements, genre MVC n'acceptent pas AbstractAction?

                                                    - J'en ai aussi un package "dessin" contenant des graphiques qui se dessinent dans le canvas de l'ihm, la même question précédente, je dois les répartir où exactement?

                                                    -Quelqu'un aurait la possibilité de publier un exemple bien évolué sur le pattern MVC en java car tous les exemples que j'ai récupérés sur Internet sont de base.

                                                      Merci par avance,

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      17 juillet 2015 à 14:51:57

                                                      bonjour a vous je suis un apprenant java j'ai un problème. lorsque je met dans tous les programmes que fait un nombre décimal on me renvoie une erreur "java.util.InputMismatchException" comme faire sans le try catch pour le resoudre
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      ndohvich

                                                        17 juillet 2015 à 18:26:28

                                                        salut je suis débutant comment apprendre a programmer .princefiavi@.com
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        prince tototo
                                                          18 juillet 2015 à 16:21:08

                                                          Bonjours,

                                                          apres m'etre noyé à chercher à pondre un code correspondant aux exigences de l' UML (meme le "main" fourni n'est pas compatible...) du P2PA (tp garage chapitre2), me voilà en correction.

                                                          quel est ce retour en console lors de l'affichage du garage ?

                                                          garage.Garage@659e0bfd
                                                          garage.Garage@659e0bfd

                                                          je suppose que c'est faute d'avoir un toString() declaré pour le garage ?

                                                          du coup j'ne sais pas trop quoi mettre en note " sauvegarde & chargement ", puisqu'il y'a bien quelque chose de lu, et une sauvegarde crée...

                                                          import java.util.LinkedList;
                                                          import java.util.List;
                                                          
                                                          public class Garage {
                                                          	private List<Vehicule> garage = new LinkedList<Vehicule>();  
                                                          
                                                          	public void addVoiture(Vehicule pVehicule) {
                                                          		garage.add(pVehicule);
                                                                  io.saveVehicule(pVehicule);
                                                          	}
                                                          }

                                                          avec la classe lecture/enregestrement..

                                                          public class io {
                                                          	public static void recupGarage() throws FileNotFoundException, IOException{
                                                              ObjectInputStream ois;
                                                              try {
                                                                //On récupère maintenant les données !
                                                                ois = new ObjectInputStream(
                                                                        new BufferedInputStream(
                                                                          new FileInputStream(
                                                                            new File("garage.txt"))));
                                                                      
                                                                try {
                                                                  System.out.println("GARAGE:");
                                                                  System.out.println("*************************\n");
                                                                  System.out.println(((Vehicule)ois.readObject()).toString());
                                                                  System.out.println(((Vehicule)ois.readObject()).toString());
                                                                  System.out.println(((Vehicule)ois.readObject()).toString());
                                                                } catch (ClassNotFoundException e) {
                                                                  e.printStackTrace();
                                                                }
                                                          	
                                                                ois.close();
                                                                  	
                                                              } catch (FileNotFoundException e) {
                                                                e.printStackTrace();
                                                              } catch (IOException e) {
                                                                e.printStackTrace();
                                                              } }
                                                           
                                                          	  public static void saveVehicule(Vehicule toSave){
                                                                    ObjectOutputStream oos;
                                                                    try {
                                                                        oos = new ObjectOutputStream(
                                                                              new BufferedOutputStream(
                                                                                new FileOutputStream(
                                                                                  new File("garage.txt"))));
                                                                        oos.writeObject(toSave);
                                                                        //Ne pas oublier de fermer le flux !
                                                                        oos.close();
                                                                    } catch (IOException e) {
                                                                        e.printStackTrace();
                                                                    }
                                                                }
                                                          }

                                                          donc deux question, est ce bien sauvegardé & chargé, et qu'est ce que ce retour ?


                                                          -
                                                          Edité par VoiDoS 18 juillet 2015 à 16:23:01

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            20 juillet 2015 à 12:26:09

                                                            bon, ce n'est plus d'actualité puisque j'ai du retourner une note, mais la question de " à quoi correspond ce retour ? " reste valide.

                                                            Cependant, m'apercevant ne pas etre le seul avec une interrogation sans reponses, une autre question vient s' y greffer...

                                                            Est ce que personne ne lit ce forum ? ou les personne qualifié en JAVA l'on juste déserté ? ou peu etre me suis je juste trompé d'endroit où demander ?

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            MOOC Apprenez à programmer en Java

                                                            × 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