0
votes

Java a créé deux objets de chaque classe avec des données complètes à l'aide d'un constructeur mais d'obtenir une erreur

J'essaie de créer deux objets de chaque classe homme et de femme avec des données complètes à l'aide d'un constructeur, contenant tous les paramètres possibles.

Je reçois une erreur indiquant: P>

"Déclaration de méthode non valide; type de retour requis". P> blockQuote>

My Code: P>

public class Solution {
    public static void main(String[] args) {
    Man man1 = new Man();
    System.out.println(man.name + "" + man.age + "" + man.address);

    Man man2 = new Man();
    System.out.println(man.name + "" + man.age + "" + man.address);

    Woman woman1 = new Woman();
    System.out.println(woman.name + "" + woman.age + "" + woman.address);

    Woman woman2 = new Woman();
    System.out.println(woman.name + "" + woman.age + "" + woman.address);

    //write your code here
}

private String name = "Mark";
private int age = 23;
private String address = 16527;

public Man(String name, int age, String address) { 
    this.name = name;
    this.age = age;
    this.address = address;
}

public Woman(String name, int age, String address) {
    this.name = name;
    this.age = age;
    this.address = address;//write your code here
  }
 }


0 commentaires

5 Réponses :


0
votes

Pour appeler nouvel homme () ou nouvelle femme () , vous devez créer un constructeur vide pour chaque classe. Alternativement, vous pouvez avoir aucun constructeur du tout dans la classe et laisser Java construire le constructeur par défaut.

en fonction de votre code, vous ne pouvez les initialiser que via le constructeur que vous avez créé quels sont les nouvel homme ("mark", 23, "16527") et nouvelle femme (" Mary ", 23," 16527 ")


0 commentaires

2
votes

Votre classe est nommée solution ce qui signifie que votre constructeur peut être nommé seul solution . Créer des classes séparées nommées man et femme , puis ajoute vos constructeurs là-bas.

En outre, puisque vous créez un objet à l'aide du constructeur par défaut, assurez-vous de les ajouter également dans les classes mentionnées ci-dessus.


0 commentaires

0
votes

Votre problème principal, la cause de l'erreur Déclaration de méthode non valide; Type de retour requis Est-ce que vous mettez le constructeur pour man et femme à l'intérieur d'une autre ( solution ). Ils devraient être définis dans leur propre classe. Cette erreur que vous obtenez signifie que le compilateur pense qu'il existe une déclaration de méthode régulière sans type de retour. Il pense simplement que vous avez fait une méthode appelée man (avec quelques arguments) et une méthode appelée femme (avec quelques arguments).

En outre, si vous voulez que les données soient en train de faire partie de la classe homme ou de femme, vous devez vous assurer que cela devient une partie de ces objets. Vous pouvez créer un constructeur avec ces arguments ou l'ajouter via des méthodes de réglage plus tard. Les données n'apparaissent pas comme par magie dans ces objets simplement en les construisant avec un constructeur vide.


0 commentaires

0
votes

Peut être votre code sera comme celui-ci:

public class Solution {
    public static void main(String[] args) {
    Man man1 = new Man(); // first way to create object


    Man man2 = new Man("dhiraj",28,"Indore"); // second way to create object
    System.out.println(man2.name + "" + man2.age + "" + man2.address);



    Woman woman1 = new Woman(); // first way to create object



    Woman woman2 = new Woman("dhiraj",28,"Indore"); // second way to create object
    System.out.println(woman2.name + "" + woman2.age + "" + woman2.address);

    //write your code here
}
}



class Man
{
private String name, address;
private int age;

public Man()
{
}


public Man(String name, int age, String address) { 
    this.name = name;
    this.age = age;
    this.address = address;
}


}

class Woman
{
private String name, address;
private int age;

public Woman()
{
}

public Woman(String name, int age, String address) {
    this.name = name;
    this.age = age;
    this.address = address;//write your code here
}


}


0 commentaires

0
votes

Il semble que vous soyez nouveau à Java. Le code que vous avez fourni a beaucoup d'erreurs.
(pour ex :) constructeur doit avoir le même nom que la classe
Tout en définissant un objet à l'aide d'un paramètre de constructeur doit être transmis comme des arguments (si ce n'est pas conducteur par défaut) et etc.
Veuillez vous reporter Ce lien pour obtenir plus d'une idée des classes et des objets Java.


0 commentaires