Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Apprenez à programmer en Java

    26 juillet 2015 à 17:58:31

    MelvnMoriniere a écrit:

    Bonjour,

    Je viens de commencer à apprendre la programmation java mais a peine mis a table qu'un problème surgit ...

    C'est un problème tout simple mais étant débutant je ne parvint pas à le résoudre :) .

    Voila mon problème, J'ai taper le premier code du cours java :

    public static void main(String[] args){
      System.out.print("Hello World !");
    }

    Je tiens à préciser qu'il n'y a rien d'écrit d'autre donc ce n'est pas dans package au quoi que ce soit .

    Ensuite dans le cours on me dits de lancer le "programme" mais moi sa me met un message d'erreur :

    "The selection cannot be launched, and there arer not recent lauches"

    Je tiens a préciser que devant la premiere et la derniere ligne il y a une croix rouge pour me fait comprendre qu'il y a un problème mais je ne voit pa slequel :/.

    Au passage si quelqu'un a la solution ,pourrait-on m'expliquer le code suivant ? ce n'est pas préciser dans le cours :/ " public static void main(Strings[] args) ?

    Merci d'avance ;-)

    tu as toi même donné la solution ton code doit être mis dans une classe et par conséquent dans un pakage

    java est un langage typiquement orienté objet donc tout se fait dans des classes

    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2015 à 7:41:12

      @MelvnMoriniere : Tu as oublié la déclaration de la classe Java :

      public class Test{
      
         public static void main(String[] args){
       
           System.out.println("Hello World !");
       
         }
      
      }
      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2015 à 18:59:52

        Bonjour,

        J'en suis à la partie 3, chapitre 4 : interagir avec les boutons. Plus précisément, j'en suis ici :

        https://openclassrooms.com/courses/apprenez-a-programmer-en-java/interagir-avec-des-boutons#/id/r-2183397

        On nous propose de réaliser l'animation avec les boutons "go" et "stop". De même, on mets en évidence un pb pour sortir de la boucle infinie(pile).

        Il est marqué qu'on peut ici résoudre le pb en utilisant un autre "thread" mais je ne vois pas comment (et il n'y a pas la solution sauf erreur de ma part).

        Merci pour votre aide !

        • Partager sur Facebook
        • Partager sur Twitter
        Jean Debeney
          27 juillet 2015 à 19:01:51

          Bonjour !

          Me voici actuellement sur la programmation événementielle. A peine arrivé au début que je bloque déjà hélas... Malgré les imports, le compileur ne veut pas digérer le Jpanel :

          Je travaille par ailleurs avec le logiciel IntelliJ, ce qui explique les différences de couleurs etc.

          Merci de votre réponse !

          (PS : merci à toi cysboy pour ce cours très complet)

          • Partager sur Facebook
          • Partager sur Twitter
          OpenClassroom, free-to-play, rpg, aventure, puzzle, réflexion. Avis des joueurs : très positif.
            27 juillet 2015 à 19:10:39

            T'as écrit Jpanel au lieu de JPanel(ligne 21)

            -
            Edité par kulturman 27 juillet 2015 à 19:13:04

            • Partager sur Facebook
            • Partager sur Twitter
              27 juillet 2015 à 21:03:25

              En effet, erreur très bête de ma part. Merci !
              • Partager sur Facebook
              • Partager sur Twitter
              OpenClassroom, free-to-play, rpg, aventure, puzzle, réflexion. Avis des joueurs : très positif.
                27 juillet 2015 à 22:32:19

                Bonsoir,

                J'ai presque fini l'activité de la 2ème semaine (le garage), mais j'ai deux petits problèmes que j'arrive vraiment pas à résoudre... 

                Tout marche correctement, sauf que la ligne correspondant à la première voiture s'imprime 2 fois. La première même avant la première ligne de ma méthode toString (de la classe Garage), donc clairement il doit avoir un souci à niveau fichier...?

                Si quelqu'un peut m'orienter dans la bonne direction cela serait énormément apprécié !!

                Merci d'avance !

                package com.aapej
                
                //Packages à importer
                import java.io.BufferedInputStream;
                import java.io.BufferedOutputStream;
                import java.io.File;
                import java.io.FileInputStream;
                import java.io.FileNotFoundException;
                import java.io.FileOutputStream;
                import java.io.IOException;
                import java.io.ObjectInputStream;
                import java.io.ObjectOutputStream;
                import java.io.Serializable;
                import java.util.ArrayList;
                import java.util.List;
                import com.garage.vehicule.Vehicule;
                
                
                public class Garage implements Serializable{
                	
                	// Class serialisée: Generated Serial Version ID
                	private static final long serialVersionUID = 2795685548432055408L;
                
                	// VARIABLES
                	List<Vehicule> voitures = new ArrayList<Vehicule>();
                	
                	ObjectInputStream ois;
                    ObjectOutputStream oos;
                    
                    public Garage(){}
                	
                		// MÉTHODES
                			// Ajoute une voiture au fichier garage 
                		public void addVoiture(Vehicule v){
                			System.out.println(v);
                	        voitures.add(v);
                	        try {
                	            oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(new File("garage.txt"))));
                	            for(Vehicule vh : voitures) {
                	                oos.writeObject(vh);
                	            }
                	            oos.close();
                	        } catch (FileNotFoundException e) {
                	            e.printStackTrace();
                	        } catch (IOException e) {
                	            e.printStackTrace();
                	        }
                		}
                		
                			// Imprime le contenu du garage
                		public String toString(){
                			String gar = "***************************\n*  Garage OpenClassrooms  *\n***************************\n";
                
                	    	try{
                	     		ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(new File("garage.txt"))));
                	     		// Verifie si le garage est vide
                	     		//if(ois.isEmpty())
                	     		//	throw new Exception("Aucune voiture sauvegardée !");
                	     		
                	     		try{
                	     			System.out.println(((Vehicule)ois.readObject()).toString());
                	     		}catch(ClassNotFoundException e){
                	     			e.printStackTrace();
                	     		}
                	     		ois.close();
                	    	}
                	    	catch(FileNotFoundException e){
                	    		try {
                					throw new Exception("Aucune voiture sauvegardée! ");
                	    		} catch (Exception e1) {
                					e1.printStackTrace();
                				}
                	    	} catch(IOException e){
                	    		e.printStackTrace();
                	    	} 
                
                			return gar;
                		}
                		
                }
                


                EDIT: Screenshot de la console après le deuxième lancement:

                 RE-EDIT: J'ai rien dit !! Trouvé !! En fait, j'avais pas du tout fini la méthode toString().... My bad!

                -
                Edité par teleko 28 juillet 2015 à 14:10:40

                • Partager sur Facebook
                • Partager sur Twitter
                  29 juillet 2015 à 11:55:07

                  Bonjour à tous !

                  J'ai entamé le cours sur JAVA (pourquoi serais-je ici sinon ? :p) et je bloque sur la partie expliquant les classes et plus spécifiquement la création de méthode d'instance, et pour être encore plus précis, sur l'utilisation du "this" : https://openclassrooms.com/courses/apprenez-a-programmer-en-java/votre-premiere-classe#/id/r-3086151

                  Dans l'exemple donné, je ne comprends pas pourquoi dans la méthode setCategorie() (voire même devcrisToi()) la variable "categorie" est affectée avec un "this" (this.categorie). Pourquoi ne peut-on pas mettre tout simplement "categorie" de la même manière que dans les accesseurs ?

                  En vous remerciant !

                  EDIT : Je pose cette question car en supprimant ces "this" sur les variables, je n'obtiens aucune erreur de compilation et le fonctionnement semble identique.

                  -
                  Edité par Redox. 29 juillet 2015 à 12:03:41

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 juillet 2015 à 12:09:08

                    Salut. En fait c'est juste une question de gout et on peut se passer de this dans ces cas là. Par contre s'il y avait eu une variable locale de même nom , là le this aurait servi à faire la différence.

                    public class Bidon
                    {
                        private int bidon;
                        public Bidon(int bidon)
                        {
                            this.bidon = bidon;//this.bidon c'est la variable d'instance tandis bidon c'est la variable locale(le paramètre)
                        }
                    
                    }



                    -
                    Edité par kulturman 29 juillet 2015 à 12:13:08

                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 juillet 2015 à 12:12:33

                      Je te remercie pour cette réponse claire !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 juillet 2015 à 12:47:57

                        Redox. a écrit:

                        Je te remercie pour cette réponse claire !


                        Oh , je t'en prie.:D
                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 juillet 2015 à 16:18:13

                          Bonjour à tous !

                          Je suis hyper-débutant, Je suis actuellement au début ton chapitre 4: Interagir avec les boutons de la programmation événementielle, je crée la classe Bouton pour personnaliser monBouton, mais g n'arriv pas à l'associer avec la classe fenetre, l'image de fond reste toujours bleu, impossible d'appeler cette classe depuis la classe fenetre, ou où est-ce ke devrais je appeler ma classe bouton,

                          Devrais-je enlever l'appel de l'instanciation de l'objet private JButton bouton = new JButton("mon bouton"); et ne faire appel à la place à ma nouvelle classe qui hérite de JBoutton, ce qui serai un peu plus logique g crois, aidez moi s'il vous plait

                          merci

                          -
                          Edité par eaudecrystal 29 juillet 2015 à 16:29:25

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Toc toc badaboum
                            29 juillet 2015 à 18:25:32

                            Re-bonjour ! (Décidément :p)

                            Voilà j'en suis au chapitre 2 partie 5 sur "Les classes abstraites et les interfaces" et je bute au niveau du "Pattern Strategy" :

                            https://openclassrooms.com/courses/apprenez-a-programmer-en-java/les-classes-abstraites-et-les-interfaces#/id/r-2181825

                            Je ne comprends pas, entre autres, pourquoi on utilise des classes ET des méthodes pour définir la façon dont attaque un Personnage. Ne pourrait-on pas utiliser QUE des interfaces (au même titre que ce qui a été fait avec le "chien" un peu plus avant dans le cours) ? Pourquoi créer des classes dans lesquelles on implémente des interfaces par la suite ?

                            En vous remerciant :) !

                            -
                            Edité par Redox. 29 juillet 2015 à 18:35:35

                            • Partager sur Facebook
                            • Partager sur Twitter
                              29 juillet 2015 à 18:57:34

                              Bonjour bonjour !

                              Merci beaucoup pour ce cours !

                              Le problème qui me bloquait devait être une erreur d'écriture de ma part car il vient de disparaître...

                              Bref, en tout cas merci ;) !!

                              edit : Bon dernier edit pour se post, un faux problème remplacé par un bug un peu après, que je ne m'explique pas et ne sais résoudre. Je suis dans la partie 3, à "Interaction avec la souris : l'interface MouseListener".

                              Commençons par mon code de la classe Bouton qui est un peu différent de celui du cours (si peu, j'ai juste voulu ne pas utiliser les images et me contenter du GradientPaint.

                              import java.awt.Color;
                              import java.awt.GradientPaint;
                              import java.awt.Graphics;
                              import java.awt.Graphics2D;
                              import java.awt.event.MouseEvent;
                              import java.awt.event.MouseListener;
                              
                              import javax.swing.JButton;
                              
                              public class Bouton extends JButton implements MouseListener{
                              	private String name;
                              	private Graphics2D g2d;
                              	private Color col1;
                              	public Bouton(String str){
                              		super(str);
                              		this.name=str;
                              		col1=Color.cyan;
                              		this.addMouseListener(this);
                              	}
                              	
                              	public void paintComponent(Graphics g){
                              		g2d=(Graphics2D) g;
                              		GradientPaint gp=new GradientPaint(0,0,col1, 0,20,Color.blue, true);
                              		g2d.setPaint(gp);
                              		g2d.fillRect(0, 0, this.getWidth(), this.getHeight());
                              		g2d.setColor(Color.white);
                              		g2d.drawString(this.name, this.getWidth()/2-(this.getWidth()/2/4), (this.getHeight()/2)+5);
                              		
                              		
                              	}
                              	
                              	public void mouseClicked(MouseEvent event){
                              		
                              	}
                              	
                              	public void mouseEntered(MouseEvent event){
                              		col1=Color.green;
                              	}
                              	
                              	public void mouseExited(MouseEvent event){
                              		col1=Color.cyan;
                              	}
                              	
                              	public void mousePressed(MouseEvent event){
                              		col1=Color.red;
                              	}
                              	
                              	public void mouseReleased(MouseEvent event){
                              		if(event.getY()<0 ||event.getX()<0) col1=Color.cyan;
                              		else col1=Color.green;
                              	}
                              }
                              


                              Voilà, bon ma condition mouseReleased n'est pas finie mais là n'est pas le problème. Quand je compile, tout marche OP, je suis content tout plein, mais si j'élargis ma fenêtre (par défaut setSize(300,300)), à un moment le bouton ne répond plus... (Je ne parle pas d'agrandir par le bouton Agrandir en haut à droite, dans ce cas ça marche NP).

                              En redéfinissant mon setSize à (300, 600) puis (600, 300), toujours le même problème en agrandissant la fenêtre, mais j'ai remarqué que ça n'est déclenché que lors d'un agrandissement vertical.

                              Quelqu'un aurait une explication ou un moyen de résoudre ? Ca m'embêterait que l'utilisateur soit bloqué parce qu'il a modifié la taille de sa fenêtre...

                              Merci d'avance !! =D

                              -
                              Edité par zifnab 30 juillet 2015 à 1:02:47

                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 août 2015 à 21:02:33

                                bonjour a tous

                                je tient a remercier cysboy pour ce cour tres bien detaille !!! la petite préoccupation se trouve au niveau du fait que je voudrais savoir s'il est possible de faire marcher mon application java ayant l'extension .jar sur android  

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  2 août 2015 à 22:21:14

                                  j'ai un problème lorsque je veut installer eclipse-java-mars-R-win32.zip

                                  -
                                  Edité par aqwazeazerty 2 août 2015 à 22:24:35

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    3 août 2015 à 1:11:10

                                    Vous pouvez être plus précis concernant le problème que vous rencontrez ?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    boori
                                      3 août 2015 à 22:38:35


                                      un probleme dans le telechargement  de eclipse-java-mars-R-win32.zip!! il s'arrete au debut 



                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        4 août 2015 à 8:39:19

                                        @aqwazeazerty

                                        Essayez à partir d'ici : http://eclipse.bluemix.net/packages/mars/data/eclipse-java-mars-R-win32.zip

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        boori
                                          4 août 2015 à 14:14:00

                                          saluuut :)

                                          je suis dans la partie interragir avec des boutons,et y'a un petit souci:

                                          public class Fenetre extends JFrame{

                                            private JLabel label = new JLabel();

                                            private Horloge horloge;

                                            public Fenetre(){

                                              //On initialise la JFrame

                                              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                                              this.setLocationRelativeTo(null);

                                              this.setResizable(false);

                                              this.setSize(200, 80);

                                              //On initialise l'horloge

                                              this.horloge = new Horloge();

                                              //On initialise le JLabel

                                              Font police = new Font("DS-digital", Font.TYPE1_FONT, 30);

                                              this.label.setFont(police);

                                              this.label.setHorizontalAlignment(JLabel.CENTER);

                                              //On ajoute le JLabel à la JFrame

                                              this.getContentPane().add(this.label, BorderLayout.CENTER);

                                            }

                                          je veux bien savoir comment passer le JLabel dans l'horloge

                                          merci ;)

                                          -
                                          Edité par medycf 4 août 2015 à 14:15:21

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            5 août 2015 à 0:19:26

                                            j'ai pas compris cette partie 

                                            Compilation en ligne de commande (Windows)

                                            j'ai besoin d'un petit resume

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 août 2015 à 11:35:04

                                              T'as pas compris quoi?

                                              javac nomFichier.java : si la compilation marche tu auras un fichier nomFichier.class

                                              java nomFichier : exécution du programme

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                5 août 2015 à 23:58:11

                                                Bonjour a tous !

                                                je vous remercie d'abord pour ces connaissances que vous partagez aux zéro 

                                                je suis un débutant en programmation et je fais le cours <<Apprenez a programmer en java>>, j'ai un problème au premier TP réaliser un Garage

                                                -premièrement je ne connais pas comment implémenté les 2 classes "Moteur" et "Véhicule"

                                                -ensuite comment implémenté les Options avec <<l'interface>> "Option"

                                                SVP aidez moi !

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  6 août 2015 à 9:55:36

                                                  Bonjour tout le monde !!

                                                  J'aimerais créer un Tamagochi pr Android, pour cela je m'aide du cours "Créer des applications pour Android" pour l'installation des logiciels nécessaires à mon projet. (https://openclassrooms.com/courses/creez-des-applications-pour-android/installation-et-configuration-des-outils)

                                                  J'ai déjà Eclipse d'installé sur mon ordinateur, mais le tuto me dit d'installer un JDK. Je ne suis pas très familière avec les termes JDK, JRE, tout ça, et je voulais savoir si, ayant Eclipse il était nécessaire d'installer un JDK malgré tout ? Je me suis un peu renseignée sur le web et il est parfois conseillé d'ajouter une SDK à Eclipse... ?

                                                  Je vous remercie d'avance :) 

                                                  PS : j'ai hésité à poster mon message dans la rubrique Jeux Vidéos (?)

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    6 août 2015 à 10:10:34

                                                    Salut. T'as déjà compilé des programmes JAVA avec eclipse? Si oui alors tu as déjà le JDK(il inclut le JRE) car eclipse en a besoin pour fonctionner.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      6 août 2015 à 10:40:35

                                                      Ah d'accord ! Oui j'ai déjà compilé des programmes JAVA avec Eclipse !

                                                      Merci beaucoup pour ta réponse Kulturman ! :) 

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        6 août 2015 à 13:17:12

                                                        bonjour a tous !

                                                        je suis au niveau du TP de réalisation d'un Garage, mais j'ai du mal pour affiché le bon résultat dans ma console

                                                        svp quelqu'un pourra a mieux comprendre de quoi il est question dans mon code?

                                                        voici le code de ma classe Véhicule: 

                                                        package com.garage.vehicule;
                                                        
                                                        import java.util.ArrayList;
                                                        import java.util.List;
                                                        
                                                        import com.vehicule.moteur.Moteur;
                                                        import com.vehicule.moteur.MoteurHybride;
                                                        import com.vehicule.option.Option;
                                                        
                                                        public class Vehicule extends Moteur implements Option{
                                                        	
                                                        	protected double prix;
                                                        	protected String nom;
                                                        	protected List<Option> options=new ArrayList<>();
                                                        	protected Marque nomMarque;
                                                        
                                                        	public Vehicule() {
                                                        		super();
                                                        		// TODO Auto-generated constructor stub
                                                        	}
                                                        	public String toString(){
                                                        		    String str =this.getClass() + " Moteur "+this.cylindre+","+this.type+"," + this.getPrix()+","+this.getMarque()                     +","+this.options;
                                                        		    return str;
                                                        		  } 
                                                        	  public void addOption(Option opt)
                                                        	     {
                                                        	         options.add(opt);
                                                        	     }
                                                        	  public Marque getMarque(){
                                                        		  return this.nomMarque;
                                                        	  }
                                                        	  public Option getOption(){
                                                        		  return (Option) this.options;
                                                        	  }
                                                        	  public double getPrix(){
                                                        		  return this.prix;
                                                        	  }
                                                        	public void setMoteur(Moteur moteurHybride) {
                                                        		// TODO Auto-generated method stub
                                                        		
                                                        	}
                                                        	  
                                                        	  
                                                        }

                                                        voici le résultat de ma console



                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          6 août 2015 à 17:35:38

                                                          @MerlinSAHA 

                                                          Salut , si j'ai bien compris :

                                                          tu n'utilises pas le polymorphisme des méthodes getPrix() , getOption, getMarque() et toString() des objets que tu désires ajouter à ta variable String str .

                                                          J'imagine que tu ne les as pas redéfinis dans tes classes filles pour Vehicule et Options.

                                                          exemple pour D4

                                                          public D4()
                                                              {
                                                              	super();
                                                              }
                                                          
                                                              public Marque getMarque()
                                                              {
                                                                   return Marque.TROEN;
                                                              }
                                                          
                                                              public double getPrix()
                                                              {
                                                              	return 26000.0;
                                                              }
                                                          
                                                              public String getNom()
                                                              {
                                                                   return "D4";
                                                              }




                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            6 août 2015 à 17:39:15

                                                            une question les gas 

                                                            dans le code suivant(poo en 2eme partie la classe fille contient :

                                                             public Loup(){

                                                              })

                                                            je me demande pourquoi? et merci

                                                            public class Loup extends Canin {

                                                              public Loup(){

                                                              }

                                                              public Loup(String couleur, int poids){

                                                                this.couleur = couleur;

                                                                this.poids = poids;

                                                              }       

                                                              void crier() {

                                                                System.out.println("Je hurle à la Lune en faisant ouhouh !"); 

                                                              }

                                                            }

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              6 août 2015 à 18:47:23

                                                              @nabil-68

                                                              public class Loup extends Canin {
                                                               
                                                              // constructeur par défaut
                                                                public Loup(){
                                                                              
                                                                }
                                                              
                                                                public Loup(String couleur, int poids){
                                                                  this.couleur = couleur;
                                                                  this.poids = poids;
                                                                }       
                                                               
                                                                void crier() {
                                                                  System.out.println("Je hurle à la Lune en faisant ouhouh !"); 
                                                                }
                                                              }

                                                              le bout de code suivant :

                                                              public Loup(){
                                                              
                                                                })

                                                              C'est un constructeur par défaut, c'est à dire que tu pourras instancier/ créer un objet de la class Loup sans avoir à rentrer de paramètres.

                                                              Imagine la situation où tu es dans un jeu et que t'entends un cri de loup, mais que tu ne connais ni son poids , ni sa couleur, et ben tu peux quand l'ajouter à ton univers de jeu grâce à ce constructeur par défaut.


                                                               

                                                              • 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