Héritage

Fermé
amine - Modifié par KX le 28/12/2014 à 21:53
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 29 déc. 2014 à 07:22
Bonjour,
je suis un débutons en java il y a un problème dans mon programme et ce que vous pouviez m'aider svp:


package vehicule;
import java.util.Scanner;
public class Vehicule {
    protected String marque;
    protected String nom;
    protected int model;
    protected int nbrechauveux;
    public  Vehicule(String marque,String nom,int model,int nbrechauveux){
    this.marque=marque;
    this.model=model;
    this.nom=nom;
    this.nbrechauveux=nbrechauveux;
    }
    public class Voiture extends Vehicule{
        int maxnbreper;
        public Voiture(String marque, String nom, int model, int nbrechauveux,int maxnbreper) {
            super(marque, nom, model, nbrechauveux); 
            this.maxnbreper=maxnbreper;
        }
    } 
    public class Camion extends Vehicule{
        private double maxpoids;
      public Camion(String marque, String nom, int model, int nbrechauveux, double maxpoids){
    super(marque, nom, model, nbrechauveux);
      this.maxpoids=maxpoids;
              }
    }
    public static void main(String[] args) {
        // TODO code application logic here
        Vehicule tab[] = new Vehicule[2] ;
        tab[0]= new Voiture("fiat","uno",1994,6,5);
        tab[1]= new Camion("man","max",2003,12232.65);
        for(int j=0;j<2;j++){
        System.out.println("notre vehicule "+j+" "+tab[j]);
        }
     System.out.println("merci pour votre patient");
    }
}

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 déc. 2014 à 22:37
Bonjour,

Le problème ici c'est que tu fais
new Camion("man","max",2003,12232.65);
alors que le constructeur est
public Camion(String marque, String nom, int model, int nbrechauveux, double maxpoids)
, il te manque donc le "nbrechauveux"
Pour info, ça s'écrit : chevaux.

Ensuite viennent d'autres erreurs, liées au fait que tu as mis toutes tes classes les unes dans les autres, ce qui est possible en Java, mais ne fait pas du tout ce que tu veux. Donc mets toutes les classes dans des fichiers séparés, te ne les imbrique pas.
0
Utilisateur anonyme
28 déc. 2014 à 21:54
Bonjour,

les guillemets ouvrants doivent être refermés ... commence par la classe Vehicule.

cdt
-1
Utilisateur anonyme
28 déc. 2014 à 22:43
-1 ... fichtre !

Il n'empêche que public static void main se trouve dans la definition de la classe Vehicule

bon courage !
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 déc. 2014 à 07:22
Il n'y a aucun problème de guillemets ici, toutes celles qui sont ouvertes sont bien fermées.
Quant à ta remarque sur le main dans la classe Vehicule, ce n'est pas non plus source de bug.

Le problème d'amine est très loin des causes que tu évoques !
Donc oui -1, ça évitera à amine de chercher où sont les guillemets qui ne lui manquent pas...
0