<java>pb avec ce prg String

Bonjour,
package javaapplication1;
public class Tuna
{
    private int month;
    private int day;
    private int year;

    public tuna(int m,int d,int y)
    {
        month=m;
        day=d;
        year=y;
        System.out.printf("The constructor for this is%s\n",this);
    }
    public String toString()
    {
        return String.format("%d/%d%d%d",month,day,year);

    }


}
package javaapplication1;
public class Apples
{
 public static void main(String[]args)
 {
     Tuna TunaObject=new Tuna("4,5,6");
     
 }
}

en compilant ce prg j'ai erreur suivantes
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: constructor Tuna(java.lang.String)
location: class javaapplication1.Tuna
at javaapplication1.Apples.main(Apples.java:7)
Java Result: 1

les lignes suivantes sont soulignés
public tuna(int m,int d,int y)
Tuna TunaObject=new Tuna("4,5,6");

aidez moi s'il vous plaît

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut!

    Alors première erreur, le constructeur doit avoir le même nom que la calsse, à savoir:

    public Tuna(int m,int d,int y)
    {
    month=m;
    day=d;
    year=y;
    System.out.printf("The constructor for this is%s\n",this);
    }

    Deuxième erreur, dans ta deuxième classe tu doit importer la classe Tuna afin de pouvoir instancier un objet de type Tuna:

    package javaapplication1;

    import Tuna; // si les deux classes sont dans le même dossier, sinon faut mettre le chemin d'accès.

    public class Apples
    {
    public static void main(String[]args)
    {
    Tuna TunaObject=new Tuna("4,5,6");

    }
    }

    A+
    1. 'ai corrigé les erreurs
      ackage javaapplication1;
      public class Tuna
      {
          private int month;
          private int day;
          private int year;
       
          public Tuna(int m,int d, int y)
          {
              month=m;
              day=d;
              year=y;
              System.out.printf("The constructor for this is%s\n",this);
          }
          public String toString()
          {
              return String.format("%d/%d%d%d",month,day,year);
       
          }
      }
       
      package javaapplication1;
       
      public class Apples
      {
       public static void main(String[]args)
       {
           Tuna TunaObject=new Tuna(4,5,6);
           
       }
      }
      
      

      en compilant j'ai erreurs suivantes:
      Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier 'd'
      at java.util.Formatter.format(Formatter.java:2431)
      at java.util.Formatter.format(Formatter.java:2366)
      at java.lang.String.format(String.java:2770)
      at javaapplication1.Tuna.toString(Tuna.java:18)
      at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2793)
      at java.util.Formatter$FormatSpecifier.print(Formatter.java:2676)
      at java.util.Formatter.format(Formatter.java:2432)
      at java.io.PrintStream.format(PrintStream.java:920)
      at java.io.PrintStream.printf(PrintStream.java:821)
      at javaapplication1.Tuna.<init>(Tuna.java:14)
      at javaapplication1.Apples.main(Apples.java:8)

      et dans la ligne
      Tuna TunaObject=new Tuna(4,5,6);

      "TunaObject" est souligné
      1. Alors ton erreur provient de cet ligne:

        String.format("%d/%d%d%d",month,day,year);
        Je sais pas trop ce que tu veus faire avec?

        On corrige d'abord cette erreur on verra après pour le TunaObject
        1. merci beaucoup
          j'ai corrigé mon erreur c'est donc ça
          1. coment a tu corigé ton ereur car jè c mm problème mè moi cè pr lè détecteurs d'intrusion sur 1 réso intranet
        2. Tu n'as plus d'autre erreur du coup?
          Ca fais disparaître le trait rouge sous TunaObject?

          Parfait alors :-)