Java, aidez moi je craque :'(

Fermé
yasmine - 22 nov. 2003 à 10:39
 yasmine - 22 nov. 2003 à 18:48
slt

voila ja deux fichier un Livre.java qui creer des livre avec nom auteur nbpage ... dedans un fonction compare2 qui est apler dans TestLivre.java, quand je compile il me fait l'erreur sur compare2(livre1,livre2) et y di cannot resolv symbole mùethode compare2(Livre,Livre)

Livre.java

import java.lang.*;
/**
* @author habai joffrey
* @deprecated exercie8
*/
public class Livre {
//variable
private String titre, auteur;
private int nbPages;
private double Prix;
private boolean PrixFixe;

//constructeur

public Livre(){};

public Livre(String unAuteur, String unTitre){
auteur=unAuteur;
titre=unTitre;
}

public Livre(String unAuteur, String unTitre,int lenbPages){
auteur=unAuteur;
titre=unTitre;
nbPages=lenbPages;
}

public Livre(String unAuteur, String unTitre,int lenbPages,double lePrix){
auteur=unAuteur;
titre=unTitre;
nbPages=lenbPages;
Prix=lePrix;
}

//accesseur
public String getAuteur(){
return auteur;
}

public String getTitre(){
return titre;
}
public int getnbPages(){
return nbPages;
}
public double getPrix(){
return Prix;
}
public boolean getPrixFixe(){
return PrixFixe;
}

//modificateur
void setNbpages(int nb){
if(nb<0){
System.out.println("!!attention pas de livre de moins de 0 pages !!");
}
else{nbPages=nb;}
}
void setAuteur(String Aut){
auteur=Aut;
}
void setTitre(String tit){
titre=tit;
}

//insere un prix si il nestpas deja inserer
void setPrix(double prix){
if(PrixFixe==false){
Prix=prix;
PrixFixe=true;
}
else{
System.out.println("!!attention prix deja saisi !!");
}
}


//methode afichetoi
void afficheToi(){
//System.out.println(getAuteur()+" "+getTitre()+" "+getnbPages()+"p");
toString ();
}

/**
@return fonction de comparaison entre this.nbPages et unlivre.nbPages
@params Livre unlivre
*/
public int compare(Livre unlivre){
if(this.nbPages==unlivre.nbPages)return 0;
if(this.nbPages>unlivre.nbPages)return 1;
else return -1;
}



/**
@return fonction de comparaison2 entre unlivre1.nbPages et unlivre2.nbPages
@params Livre unlivre1, Livre unlivre2
*/
public int compare2(Livre unlivre1, Livre unlivre2)
{
if(unlivre1.nbPages==unlivre2.nbPages) return 0;
if(unlivre1.nbPages>unlivre2.nbPages) return 1;
else return -1;
}



//methode toString
public String toString (){
if(getPrix()!=0){
return ("Auteur :"+getAuteur()+" Titre :"+getTitre()+" Nombre de page :"+getnbPages()+" Prix:" + getPrix() );
}
else{
return ("Auteur :"+getAuteur()+" Titre :"+getTitre()+" Nombre de page :"+getnbPages()+" Prix: nc ");
}
}

static public void main(String argv[]) {

Livre livre1=new Livre("joe","histoire",120);
Livre livre2=new Livre("john","histoire2",10);

System.out.println(livre1.getAuteur()+" "+livre1.getnbPages()+"p");
System.out.println(livre2.getAuteur()+" "+livre2.getnbPages()+"p");
System.out.println( (livre1.getnbPages()) + (livre2.getnbPages()) );

}




}



TestLivre.java

import java.lang.*;
/**
* @author habai joffrey
* @deprecated exercice8
*/
public class TestLivre {

static public void main(String argv[]) {

Livre livre1=new Livre("joe","histoire",300,20);

Livre livre2=new Livre("john","histoire2");
livre2.setNbpages(300);

Livre livre3=new Livre();
livre3.setAuteur("Jean");
livre3.setTitre("bontitre");
livre3.setNbpages(500);
livre3.setPrix(300000);

//livre1.afficheToi();


System.out.println(livre1); //affiche le contenu de livre grace à toString
System.out.println(livre2);
System.out.println(livre3);
livre3.setPrix(3000);


//affiche lauteur du plus gros livre en utilisant compare2
System.out.println("L'auteur du plus gros livre est: ");
String plusGros;
if(compare2(livre2, livre1)==0){
plusGros=livre1.getAuteur();
}
if(compare2(livre2, livre1)==1){
plusGros=livre1.getAuteur();
}
if(compare2(livre2, livre1)==-1){
plusGros=livre2.getAuteur();
}
else {
plusGros=livre2.getAuteur();
}
System.out.println(plusGros);

}


}




aidez moi svp
A voir également:

2 réponses

Salut Ysamine

Au lieu de :

public int compare2(Livre unlivre1, Livre unlivre2)
{
if(unlivre1.nbPages==unlivre2.nbPages)
return 0;
if(unlivre1.nbPages>unlivre2.nbPages)
return 1;
else return -1;
}

Essaies :


public int compare2(Livre unlivre2)
{
if(this.nbPages==unlivre2.nbPages)
return 0;
elseif ( this.nbPages>unlivre2.nbPages)
return 1;
else return -1;
}


Olivier
0
merci, javais trouver la solution, c ici :http://www.javafr.com/forum.v2.aspx?ID=160763

mais j'ai un autre prob maintenant :( cf mes deux dernier post
0