pb en bluej - Java - Programmation
Marsh Posté le 07-05-2008 à 17:32:09
est ce que tu initalise bien tes tableaux et tes classes?
et puis ta boucle pour moi il y a une erreur
c'est
while((compteur<100)&&(terminer)){ /*tant que tu as pas tout liste et que tu l'a pas trouvé)
et est tu sur d'avoir forcement 100 animaux dans ta table
Marsh Posté le 07-05-2008 à 18:25:49
infoman64 a écrit :
|
Ca montre que la variable "terminer" est mal utilisée: elle devrait être initialisée à false et passée à true quand l'élément a été trouvé.
D'ailleurs lnd88,
Marsh Posté le 07-05-2008 à 19:11:20
merci pour ces infos,
maintenant il m'affiche les caractèristiques mais il ne m'affiche plus le system.out.println "desolé.. et me dit a nouveau null pointer exception que je demande un animal qui n'est pas dans le tableau
Marsh Posté le 07-05-2008 à 20:15:34
Masklinn , a raison , utilise pour parcourir ton tableau les instructions
nextelements, hasmore(je pense pas que ce soit celle la pour le tableau mais c le meme style)
et remontre nous ton code avec les corrections.
Marsh Posté le 07-05-2008 à 21:30:18
voilà les premieres modif que j'ai fait et en fait c'est le second if qui fonctionne plus mais il me met l'erreur au niveau de resultat = tabzoo.tabanimal[compteur].getnomanimal();
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
compteur=0;
while((compteur<100)){
resultat = tabzoo.tabanimal[compteur].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[compteur].affiche();
break;
}
else{
compteur=compteur+1;
}
}
if(compteur==100){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
Marsh Posté le 07-05-2008 à 22:23:59
peut tu montrer le code pour initialiser tout, stp , et le codes des classes
car pour moi je pense que tu parcours trop ton tableau ou que tu initialise mal
et mon nous ton erreur,
mais tous ton code on trouvera plus facilement l'erreur
Marsh Posté le 07-05-2008 à 22:36:53
public class Programmeprincipal
{public static void main(){
ensembleanimaux tabzoo;
String nom;
int compteur;
String nomani;
String descriptionani;
String nomssgrpe;
String desssgrpe;
String nomgrpe;
String desgrpe;
String nomclas;
String desclas;
String nomemb;
String desemb;
boolean rep;
boolean a;
boolean b;
String resultat;
// Création du tableau
tabzoo = new ensembleanimaux();
// Base de données
tabzoo.ajouteranimal("chimpanzé", "intelligent", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gorille", "grand, vigoureux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gibbon", "gracieux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("maki", "élégant", "lemurien", "vie nocturne, griffes", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("lion", "crinière, fauve", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("panthère", "tacheté", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("tigre", "tigré, blanc et roux", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chat", "domestiqué, petit", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chien", "familier", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("loup", "rusé, prédateur", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("renard", "solitaire", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("souris", "grise ou blanche", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("écureuil", "roux", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("hamster", "abajoues", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("mouton", "laine", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cerf", "ramures", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("girafe", "long cou", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cigogne", "blanche et noir", "pas de nom de sous groupe ", "pas de description de sous groupe ", "échassier", "pattes très longues, long bec", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("faucon", "prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("épervier", "pas de description de l'animal", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("esturgeon", "marin", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("requin", "marin, prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe " , "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("carpe", "rivière", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("coccinelle", "rouge et noir, prédateur", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("ver luisant", "lumineux", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("abeille", "jaune et noir", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("fourmi", "batailleuse", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("homard", "marin", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("écrevisse", "rivière", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
//presentation
System.out.println(" Bienvenue sur ce programme. Vous allez pouvoir afficher le tableau des animaux enregistrés, ajouter un nouvel animal ou avoir des informations sur un animal en particulier (présent dans le tableau). Veuillez appuyer sur entrer à chaque nouvelle réponse" );
System.out.println(" " );
// nb animaux
// tabzoo.tabanimal[compteur].compter();
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
compteur=0;
while((compteur<100)){
resultat = tabzoo.tabanimal[compteur].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[compteur].affiche();
break;
}
else{
compteur=compteur+1;
}
}
if(compteur==100){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
// informations sur subdivision
//System.out.println("Voulez vous des renseignements sur une subdivision? veuillez répondre true (oui) ou false (non)" );
//e = Clavier.lireBoolean();
//if(e==true){
//System.out.println("Laquelle? vertébré, arthropodes, primates " );
// f= Clavier.lireBoolean();
// if
// Entrer un nouvel animal
System.out.println("Voulez vous entrer un nouvel animal? veuillez répondre true (oui) ou false (non)" );
rep = Clavier.lireBoolean();
if(rep==true){
System.out.println("Veuillez entrer le nom d'un animal" );
nomani = Clavier.lireString();
System.out.println("Veuillez entrer la desription de l'animal" );
descriptionani = Clavier.lireString();
System.out.println("Veuillez entrer le nom du sous groupe auquel il appartient" );
nomssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du sous groupe" );
desssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom du groupe auquel il appartient" );
nomgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du groupe auquel il appartient" );
desgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom de sa classe" );
nomclas = Clavier.lireString();
System.out.println("Veuillez entrer la description de la classe à laquelle il appartient" );
desclas = Clavier.lireString();
System.out.println("Veuillez entrer le nom de l'embranchement" );
nomemb = Clavier.lireString();
System.out.println("Veuillez entrer la description de l'embranchement auquel il appartient" );
desemb = Clavier.lireString();
tabzoo.ajouteranimal(nomani, descriptionani, nomssgrpe, desssgrpe, nomgrpe, desgrpe, nomclas, desclas, nomemb, desemb);
}
// Affiche tout le tableau
System.out.println(" " );
System.out.println("Voulez vous afficher tout le tableau? veuillez répondre true (oui) ou false (non)" );
b = Clavier.lireBoolean();
if(b==true){
tabzoo.afficheanimaux();
}
}
}
public class Programmeprincipal
{public static void main(){
ensembleanimaux tabzoo;
String nom;
int compteur;
String nomani;
String descriptionani;
String nomssgrpe;
String desssgrpe;
String nomgrpe;
String desgrpe;
String nomclas;
String desclas;
String nomemb;
String desemb;
boolean rep;
boolean a;
boolean b;
String resultat;
// Création du tableau
tabzoo = new ensembleanimaux();
// Base de données
tabzoo.ajouteranimal("chimpanzé", "intelligent", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gorille", "grand, vigoureux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gibbon", "gracieux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("maki", "élégant", "lemurien", "vie nocturne, griffes", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("lion", "crinière, fauve", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("panthère", "tacheté", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("tigre", "tigré, blanc et roux", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chat", "domestiqué, petit", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chien", "familier", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("loup", "rusé, prédateur", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("renard", "solitaire", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("souris", "grise ou blanche", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("écureuil", "roux", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("hamster", "abajoues", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("mouton", "laine", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cerf", "ramures", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("girafe", "long cou", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cigogne", "blanche et noir", "pas de nom de sous groupe ", "pas de description de sous groupe ", "échassier", "pattes très longues, long bec", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("faucon", "prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("épervier", "pas de description de l'animal", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("esturgeon", "marin", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("requin", "marin, prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe " , "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("carpe", "rivière", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("coccinelle", "rouge et noir, prédateur", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("ver luisant", "lumineux", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("abeille", "jaune et noir", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("fourmi", "batailleuse", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("homard", "marin", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("écrevisse", "rivière", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
//presentation
System.out.println(" Bienvenue sur ce programme. Vous allez pouvoir afficher le tableau des animaux enregistrés, ajouter un nouvel animal ou avoir des informations sur un animal en particulier (présent dans le tableau). Veuillez appuyer sur entrer à chaque nouvelle réponse" );
System.out.println(" " );
// nb animaux
// tabzoo.tabanimal[compteur].compter();
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
compteur=0;
while((compteur<100)){
resultat = tabzoo.tabanimal[compteur].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[compteur].affiche();
break;
}
else{
compteur=compteur+1;
}
}
if(compteur==100){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
// informations sur subdivision
//System.out.println("Voulez vous des renseignements sur une subdivision? veuillez répondre true (oui) ou false (non)" );
//e = Clavier.lireBoolean();
//if(e==true){
//System.out.println("Laquelle? vertébré, arthropodes, primates " );
// f= Clavier.lireBoolean();
// if
// Entrer un nouvel animal
System.out.println("Voulez vous entrer un nouvel animal? veuillez répondre true (oui) ou false (non)" );
rep = Clavier.lireBoolean();
if(rep==true){
System.out.println("Veuillez entrer le nom d'un animal" );
nomani = Clavier.lireString();
System.out.println("Veuillez entrer la desription de l'animal" );
descriptionani = Clavier.lireString();
System.out.println("Veuillez entrer le nom du sous groupe auquel il appartient" );
nomssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du sous groupe" );
desssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom du groupe auquel il appartient" );
nomgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du groupe auquel il appartient" );
desgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom de sa classe" );
nomclas = Clavier.lireString();
System.out.println("Veuillez entrer la description de la classe à laquelle il appartient" );
desclas = Clavier.lireString();
System.out.println("Veuillez entrer le nom de l'embranchement" );
nomemb = Clavier.lireString();
System.out.println("Veuillez entrer la description de l'embranchement auquel il appartient" );
desemb = Clavier.lireString();
tabzoo.ajouteranimal(nomani, descriptionani, nomssgrpe, desssgrpe, nomgrpe, desgrpe, nomclas, desclas, nomemb, desemb);
}
// Affiche tout le tableau
System.out.println(" " );
System.out.println("Voulez vous afficher tout le tableau? veuillez répondre true (oui) ou false (non)" );
b = Clavier.lireBoolean();
if(b==true){
tabzoo.afficheanimaux();
}
}
}
public class Programmeprincipal
{public static void main(){
ensembleanimaux tabzoo;
String nom;
int compteur;
String nomani;
String descriptionani;
String nomssgrpe;
String desssgrpe;
String nomgrpe;
String desgrpe;
String nomclas;
String desclas;
String nomemb;
String desemb;
boolean rep;
boolean a;
boolean b;
String resultat;
// Création du tableau
tabzoo = new ensembleanimaux();
// Base de données
tabzoo.ajouteranimal("chimpanzé", "intelligent", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gorille", "grand, vigoureux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("gibbon", "gracieux", "simien", "marche debout", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("maki", "élégant", "lemurien", "vie nocturne, griffes", "primate", "adapté à la vie dans les arbres, mange de tout", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("lion", "crinière, fauve", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("panthère", "tacheté", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("tigre", "tigré, blanc et roux", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chat", "domestiqué, petit", "félidé", "vie nocturne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("chien", "familier", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("loup", "rusé, prédateur", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("renard", "solitaire", "canidé", "vie diurne", "carnivore", "mange de la viande, griffes", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("souris", "grise ou blanche", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("écureuil", "roux", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("hamster", "abajoues", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rongeur", "mange des végétaux, grande fécondité", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("mouton", "laine", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cerf", "ramures", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("girafe", "long cou", "pas de nom de sous groupe ", "pas de description de sous groupe ", "ruminant", "mange de l'herbe", "mammifère", "corps couvert de poils, température constante, vivipare, allaitement, respiration aérienne", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("cigogne", "blanche et noir", "pas de nom de sous groupe ", "pas de description de sous groupe ", "échassier", "pattes très longues, long bec", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("faucon", "prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("épervier", "pas de description de l'animal", "pas de nom de sous groupe ", "pas de description de sous groupe ", "rapace", "vie diurne, mange de la viande, griffes", "oiseau", "corps couvert de plumes, ovipare, respiration aérienne, température constante, adapté au vol", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("esturgeon", "marin", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("requin", "marin, prédateur", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe " , "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("carpe", "rivière", "pas de nom de sous groupe ", "pas de description de sous groupe ", "pas de nom de groupe ", "pas de description de groupe ", "poisson", "corps couvert d'écailles, température variable, ovipare, respiration aquatique", "vertébré", "animal ayant un squelette interne" );
tabzoo.ajouteranimal("coccinelle", "rouge et noir, prédateur", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("ver luisant", "lumineux", "pas de nom de sous groupe", "pas de description de sous groupe", "coléoptère", "métamorphose complète", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("abeille", "jaune et noir", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("fourmi", "batailleuse", "pas de nom de sous groupe", "pas de description de sous groupe", "hyménoptère", "métamorphose complète, aiguillon vénimeux", "insecte", "respiration aérienne, corps divisé en trois segments, antennes, trois paires de pattes, deux paires d'ailes", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("homard", "marin", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
tabzoo.ajouteranimal("écrevisse", "rivière", "pas de nom de sous groupe", "pas de description de sous groupe", "pas de nom de groupe", "pas de description de groupe", "crustacés", "vit dans l'eau, grandit par mues successives", "arthropodes", "corps formé de segments" );
//presentation
System.out.println(" Bienvenue sur ce programme. Vous allez pouvoir afficher le tableau des animaux enregistrés, ajouter un nouvel animal ou avoir des informations sur un animal en particulier (présent dans le tableau). Veuillez appuyer sur entrer à chaque nouvelle réponse" );
System.out.println(" " );
// nb animaux
// tabzoo.tabanimal[compteur].compter();
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
compteur=0;
while((compteur<100)){
resultat = tabzoo.tabanimal[compteur].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[compteur].affiche();
break;
}
else{
compteur=compteur+1;
}
}
if(compteur==100){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
// informations sur subdivision
//System.out.println("Voulez vous des renseignements sur une subdivision? veuillez répondre true (oui) ou false (non)" );
//e = Clavier.lireBoolean();
//if(e==true){
//System.out.println("Laquelle? vertébré, arthropodes, primates " );
// f= Clavier.lireBoolean();
// if
// Entrer un nouvel animal
System.out.println("Voulez vous entrer un nouvel animal? veuillez répondre true (oui) ou false (non)" );
rep = Clavier.lireBoolean();
if(rep==true){
System.out.println("Veuillez entrer le nom d'un animal" );
nomani = Clavier.lireString();
System.out.println("Veuillez entrer la desription de l'animal" );
descriptionani = Clavier.lireString();
System.out.println("Veuillez entrer le nom du sous groupe auquel il appartient" );
nomssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du sous groupe" );
desssgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom du groupe auquel il appartient" );
nomgrpe = Clavier.lireString();
System.out.println("Veuillez entrer la description du groupe auquel il appartient" );
desgrpe = Clavier.lireString();
System.out.println("Veuillez entrer le nom de sa classe" );
nomclas = Clavier.lireString();
System.out.println("Veuillez entrer la description de la classe à laquelle il appartient" );
desclas = Clavier.lireString();
System.out.println("Veuillez entrer le nom de l'embranchement" );
nomemb = Clavier.lireString();
System.out.println("Veuillez entrer la description de l'embranchement auquel il appartient" );
desemb = Clavier.lireString();
tabzoo.ajouteranimal(nomani, descriptionani, nomssgrpe, desssgrpe, nomgrpe, desgrpe, nomclas, desclas, nomemb, desemb);
}
// Affiche tout le tableau
System.out.println(" " );
System.out.println("Voulez vous afficher tout le tableau? veuillez répondre true (oui) ou false (non)" );
b = Clavier.lireBoolean();
if(b==true){
tabzoo.afficheanimaux();
}
}
}
Marsh Posté le 07-05-2008 à 22:37:43
stp mais ton code en citation en tant que code c'est plus simple a voir les parties de codes
puis je sais pas si c'estune impression j'ai l'impression que tu as fait deux fois un copié colle
Merci
Marsh Posté le 07-05-2008 à 22:51:10
deja tu parcours ton tableau de 0 a 100 pour l'index , alors que tu as pas 100 entrée
utilise le code ci dessous au moins tu te précoupe pas de la taille de ton tableau
Code :
|
si tu veut uiliser avec le While
Code :
|
Marsh Posté le 08-05-2008 à 21:03:34
Bonsoir,
alors j'ai fait une méthode get qui me permet de réccupérer la valeur du compteur du tableau pr ne pas parcourir les cases vides. ça marche mais quand je demande un animal qui n'est pas dans le tableau il passe directement à la question suivante sans afficher "désolé..." voici le code
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
for(i=0;i<tabzoo.getcompteur();i=i+1){
resultat = tabzoo.tabanimal[i].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[i].affiche();
}
}
if(i>tabzoo.getcompteur()){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
Marsh Posté le 09-05-2008 à 09:11:11
normal met supérieur egale
if(i>=tabzoo.getcompteur()){
vu que tu t'arrete a inférieur stricte
Marsh Posté le 09-05-2008 à 13:06:26
oui j'ai mis un inférieur stricte car avec un <= ca plante mais du cout il ne pren pas en compte la dernière case...
Marsh Posté le 09-05-2008 à 14:03:33
ton getcompteur c'est toi qui l'a fait je pense
tu as quoi dans ta methode
utilise .length(), c'est une methode propre au tableau, car je pense que ton getcompteur doit pas te renvoyer la bonne valeur, tu as du te trompé dans ton code de ta methode
montre moi ta methode getcompteur()
Marsh Posté le 09-05-2008 à 14:16:36
infoman64 a écrit : utilise .length(), c'est une methode propre au tableau |
C'est bien #length, mais c'est un attribut pas une méthode:
$ cat > Test.java |
Marsh Posté le 09-05-2008 à 14:32:28
oui oui désolé
tu as tout a fait raison,
mais bon ca te donne la taille de ton tableau, c'est le principal.
Marsh Posté le 10-05-2008 à 13:59:48
Bonjour, merci pour ces info
en ce qui concerne ma méthode getcompteur elle est dans la classe ensembleanimaux et voici son code
animal[] tabanimal;
int compteur;
public ensembleanimaux(){// creation du tableau
tabanimal=new animal[100];
compteur=0;
}
public void ajouteranimal(String valnomanimal, String valdescriptionanimal, String valnomsousgroupe, String valdescriptionsousgroupe, String valnomgroupe, String valdescriptiongroupe, String valnomclasse, String valdescriptionclasse, String valnomembranchement, String valdescriptionembranchement){
tabanimal[compteur]= new animal(valnomanimal,valdescriptionanimal,valnomsousgroupe,valdescriptionsousgroupe,valnomgroupe,valdescriptiongroupe,valnomclasse,valdescriptionclasse,valnomembranchement,valdescriptionembranchement);
compteur=compteur+1;
}
public void afficheanimaux(){
int i;
for (i=0;i<compteur;i=i+1){
tabanimal[i].affiche();
}
}
public int getcompteur(){
return(compteur);
}
}
Marsh Posté le 10-05-2008 à 14:18:42
Si tu continues à ne pas utiliser la balise code je te report à la modération, tes posts sont insupportables.
edit: et je t'ai déjà suggéré de suivre les conventions de nommage java, ça aidera tout le monde.
Marsh Posté le 11-05-2008 à 17:17:00
désolépour l'affichage... c'est bon tous fonctionne correctement merci d'avoir pris du temps pour me répondre
lnd
Marsh Posté le 07-05-2008 à 17:16:14
Bonjour,
je débute en programmation et j'ai un projet à faire en langage objet (bluej). Il s'agit d'un tableau qui contient des animaux avec leurs caractéristiques et on veut différentes informations. J'arrive à afficher le tableau dans son entier mais je n' arrive pas à afficher une seule case. Voici mon code
// Affiche les informations sur un animal
System.out.println("Voulez vous des renseignements sur un animal? veuillez répondre true (oui) ou false (non)" );
a = Clavier.lireBoolean();
if(a==true){
System.out.println("veuillez entrer le nom de l'animal" );
nom=Clavier.lireString();
compteur=0;
boolean terminer = true;
while((compteur<100)||(!terminer)){
resultat = tabzoo.tabanimal[compteur].getnomanimal();
if (resultat.compareTo(nom)==0){
tabzoo.tabanimal[compteur].affiche();
terminer = false;
}
compteur=compteur+1;
}
if(compteur==100){
System.out.println("Désolé mais cet animal n'est pas répertorié dans notre zoo." );
}
}
En fait, quand je lance le programme, ça marche si je rentre mouton il m'affiche les caractéristiques et il plante il rouvre le programme principal et me met en jaune resultat = tabzoo.tabanimal[compteur].getnomanimal(); avec le code null pointer...
merci d'avance