Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreurs de code

    26 avril 2008 à 18:20:34

    bonjour,
    voilà mon code. J'ai des erreurs:
    oEmployee.getJob() = "Editor-In-Chief";
     oEmployee.getSalary() = 5000;
    

    que je n'arrive pas à corriger.
    la fonction getJob()dela classe Employee 
       public String getJob()
         {
        	
        	   return this.job;
                		
                
         }
    et la fonction public double getSalary()de la classe Employee
    
         {
            
                	
                	return this.salary; //}
                
         } 
    public class Test {
    	public static void main(String[] args)
         {
                Employee oEmployee = new Employee(
                       "Loïs Lane",
                       "Publisher",
                       1000);
                System.out.println(oEmployee);
    
                oEmployee.getJob() = "Editor-In-Chief";
                
                oEmployee.getSalary() = 5000;
            
    
                System.out.println(oEmployee);
         }
    
    }
    


    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      26 avril 2008 à 18:34:14

      Citation : kesamba

      bonjour,
      voilà mon code. J'ai des erreurs:

      oEmployee.getJob() = "Editor-In-Chief";
       oEmployee.getSalary() = 5000;
      


      que je n'arrive pas à corriger.

      la fonction getJob()dela classe Employee 
         public String getJob()
           {
          	
          	   return this.job;
                  		
                  
           }
      et la fonction public double getSalary()de la classe Employee
      
           {
              
                  	
                  	return this.salary; //}
                  
           } 
      public class Test {
      	public static void main(String[] args)
           {
                  Employee oEmployee = new Employee(
                         "Loïs Lane",
                         "Publisher",
                         1000);
                  System.out.println(oEmployee);
      
                  oEmployee.getJob() = "Editor-In-Chief";
                  
                  oEmployee.getSalary() = 5000;
              
      
                  System.out.println(oEmployee);
           }
      
      }
      



      Merci



      Déja une méthode n'est jamais = a quelque chose on est pas en VBA.

      En plus tu crée deux getters qui "return" quelque chose. Et tu cherche à affecter quelque chose o_O .

      public void setJob(String job)
      {
            this.job=job;  
      }
      
      public void setSalary(double salary)
      {            	
            this.salary = salary
      }
      
      
      public class Test {
      	public static void main(String[] args)
           {
                  Employee oEmployee = new Employee(
                         "Loïs Lane",
                         "Publisher",
                         1000);
                  System.out.println(oEmployee);
      
                  oEmployee.setJob("Editor-In-Chief");
                  
                  oEmployee.setSalary(5000);
              
      
                  System.out.println(oEmployee);
           }
      
      }
      

      • Partager sur Facebook
      • Partager sur Twitter
        26 avril 2008 à 20:12:50

        merci pour la reponse mais les erreurs y sont toujours:


        The method setJob() in the type Employee is not applicable for the arguments (String)
        Test.java line 12

        The method setSalary() in the type Employee is not applicable for the arguments (double)
        Test.java line 15
        • Partager sur Facebook
        • Partager sur Twitter
          26 avril 2008 à 20:36:42

          Citation : kesamba

          merci pour la reponse mais les erreurs y sont toujours:


          The method setJob() in the type Employee is not applicable for the arguments (String)
          Test.java line 12

          The method setSalary() in the type Employee is not applicable for the arguments (double)
          Test.java line 15



          Les deux erreurs sont dues à des formats incompatibles : tu donne en argument un type qui ne correspond pas à la déclaration de la méthode.

          pour la première tu donnes une String alors que la méthode s'attend à recevoir autre chose, pareil pour la deuxième erreur (tu donnes un double).

          tu pourrais donner le code entier qui produit ces erreurs ? car le code d'Anonymouse est correct.
          • Partager sur Facebook
          • Partager sur Twitter
            26 avril 2008 à 21:12:13

            merci c'est fait. J'ai retouvé mon erreur et je l'ai corrigé. Bon j'ai une autre erreur que voici
            public void LogFramework()
                {
                	System.out.println(
                       "Mon aspect : Appel de {0}");
                       new StackFrame().GetMethod().Name);
                }
            
            • Partager sur Facebook
            • Partager sur Twitter
              26 avril 2008 à 22:26:45

              Citation : kesamba

              merci c'est fait. J'ai retouvé mon erreur et je l'ai corrigé. Bon j'ai une autre erreur que voici

              public void LogFramework()
                  {
                  	System.out.println(
                         "Mon aspect : Appel de {0}");
                         new StackFrame().GetMethod().Name);
                  }
              


              public void LogFramework()
                  {
                  	System.out.println(
                         "Mon aspect : Appel de {0}")+
                         new StackFrame().GetMethod().Name);
                  }
              
              • Partager sur Facebook
              • Partager sur Twitter
                26 avril 2008 à 22:39:21

                l'erreur y est toujours. j'ai l'impression que java ne reconnais pas StackFrame().Ca sert à quoi au fait?
                • Partager sur Facebook
                • Partager sur Twitter
                  26 avril 2008 à 22:43:56

                  et comme ça :

                  public void LogFramework()
                      {
                      	System.out.println(
                             "Mon aspect : Appel de {0}" + new StackFrame().GetMethod().Name );
                      }
                  


                  Anonymouse a juste oublié d'enlever une parenthèse.
                  Sinon regarde la javadoc de StackFrame pour avoir plus d'info dessus ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 avril 2008 à 22:51:48

                    quand j'utilise la correction que tu propose, ca me renvoie cette erreur:

                    StackFrame cannot be resolved to a type MonAspect/src/banking A1.aj
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 avril 2008 à 23:03:24

                      je ne connais pas StackFrame, mais je pense que tu n'as pas l'import nécessaire :

                      essais avec
                      import com.sun.jdi.StackFrame;
                      

                      en partant de javadoc StackFrame

                      mais je suis vraiment pas sûr ...
                      j'attend que d'autres personnes répondent mieux que moi :euh:

                      en fait tu le sors d'où cet exemple, et pourquoi tu as besoin spécialement de StackFrame ?

                      édit :

                      je viens d'essayer avec Eclipse et mon import est bon, mais ton utilisation de StackFrame semble n'être pas possible:
                      StackFrame ne peut être instancier.
                      Donc effectivement ça serait bien si tu pouvais nous dire ce que tu veux que ce bout de code fasse ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 avril 2008 à 23:19:04

                        je ne veux pas à tout prix utiliser StackFrame je ne sais même pas ce que ça fait. C'est juste que je cherche à comprendre la programmation orienté aspect. Bon voilà ce code c'est le seul exemple que j'ai pu trouver sur le net.Le programme à été coder en C# et j'essaye de le reproduire en java pour pouvoir utiliser le tisseur aspectj. Sinon avec com.sun.jdi.StackFrame ca ne marche toujours pas.
                        Merci pour tes réponses.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 avril 2008 à 0:00:03

                          Bonsoir,

                          je viens de regarder la javadoc. StackFrame est une interface ;) donc
                          new StackFrame().GetMethod().Name // ERREUR
                          

                          Une interface ne peut pas être instancier.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Erreurs de code

                          × 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