Javaaaa, aidez moi

Fermé
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 - 2 juin 2007 à 18:12
 ray-J - 4 juin 2007 à 10:09
bonsoir
si on vous demande de ranger une liste d'information dans un tableau avec des type different, est ce qu'on fait:
Object[] Tchambre=new Object[100];
Tchambre[0]=eta; // etat (libre/occupé) (type char)
Tchambre[1]=pr; // prix (type double)
Tchambre[2]=cap; // capacité (type int)
Tchambre[3]=categ; // categorie (type int)
si on vous demande d'ecrire une autre methode pour afficher la liste d'une chambre avec une categorie donné??? comment je fait appel à ce tableau d'une autre methode pour afficher son contenu, s'il vous plait aider moi.. c'est urgent....:(
ps (je suis nulle en informatique)

8 réponses

choubaka Messages postés 39412 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 16 janvier 2025 2 104
2 juin 2007 à 20:57
salut

je ne comprends rien à ta question ....

0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
2 juin 2007 à 22:40
Un hotel souhaite informatiser la gestion des chambres. chaque chambre est identifiée par les info suivantes:
numero:int
categorie:int
prix:double
capacité:int
etat:char ('o'occupé 'l'libre)

1.developper la classe chambre avec 2 constructeur(un par defaut et l'autre qui initialise le numero, la categorie, le prix de la chambre)
Ajoute une methode d'affichage: affiche_chambre()

2.dans une classe de test, ajouter une methode qui permet la saisie d'une chambre à partir du clavier. Cette methode "saisie_chambre" doit initialiser l'etat de la chambre à la valeur "l", controler le prix tout en ayant une capacité entre 1 et 4.

3.on vous demande de ranger la liste des chambres dans une tableau Tchambre.

a. développer la methode de saisie de ce tableau.
b.ecrire une methode pour afficher la liste des chambres d'une categorie donné.


voila j'ai ecrit tout l'exercice pour que tu puisse comprendre ce que je voulais exactement, mecri de m'aider, je suis pas forte en java.. surtout les tableau...:s
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
2 juin 2007 à 22:54
ce que j'ai fait:

Classe chambre:
public class chambree {

private int numero;
private int categorie;
private double prix;
private int capacity;
private char etat;

public chambree(){}
public chambree (int num,int cat,double prix){
this.numero=num;
this.categorie=cat;
this.prix=prix;
}
public int getnumero(){
return numero;
}
public int getcategorie(){
return categorie;
}
public double getprix(){
return prix;
}

public void affiche_chambre(){
System.out.println("Numero: "+numero+"\nCategorie: "+categorie+"\nPrix: "+prix);
}
}

classe test:

public class chambretest {

public static void saisie_chambre()throws Exception{

char etat='L';
double pr;
int cap;

System.out.println("entrer l'etat de la chambre:");
char eta=essai.getchar();
do{
System.out.println("entrer le prix:");
pr=essai.getdouble();
}while(pr<0);
do{
System.out.println("entrer la capacité d'acceuil (entre 1 et 4):");
cap=essai.getint();
}while(cap<1 && cap>4);
System.out.println("entrer la categorie du chambre:");
int cat=essai.getint();

Object[] Tchambre=new Object[100];
Tchambre[0]=eta;
Tchambre[1]=pr;
Tchambre[2]=cap;
Tchambre[3]=cat;
}
public static void afficher()throws Exception{
Object[] Tchambre=new Object[100];
System.out.println("entrer la categorie du chambre:");
int ca=essai.getint();
for(int i=0;i<Tchambre.length;i++){
System.out.println(Tchambre[i]);

}
}
public static void main(String[] args)throws Exception {
saisie_chambre();
afficher();
}
}

mais cela ne marche pas.........!!!!
svp je suis debutante, quelqu'un peux m'aider...
grand merci à tt
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
3 juin 2007 à 16:06
J'attend tjrs votre reponse...
Qqun peut m'aider svp c'est urgent...

.....:(
0
Salut j'ai essayé de lire ton programme mais je n'y comprends pas du tout.
regarde bien tes methodes afficher() et saisie_chambre() tu mes tes objets chaque fois dans des tableaux differents cela ne peux pas marcher.
Moi je te propose de :
-soit declarer ton tableau d'objets comme une variable globale et l'utiliser chaque fois dans les methodes
-soit de prendre un vecteur à la palace de ton tableau d'objets c'est plus dynamique un vecteur.
tiens mois au courant
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
3 juin 2007 à 16:59
oui le vecteur résout tt les probleme, mais ici, la question demande d'utiliser un tableau simple "Tchambre", stp, est ce que tu peux m'expliquer ta 1ere proposition..
merci d'avance..
0
Tel qu'il est écrit ton programme est tres complexe ca me donne du fer à tordre.Mais avant tout explique moi le but de ta classe test.
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
3 juin 2007 à 17:22
Le but de ma classe test est de remplir un tableau et de l'afficher tt simplement, j'ai ecrit 2 methodes :
1. saisie_chambre: la saisie au clavier , puis les met dans un tableau
2. affiche: affiche ce qu'il y a dans le tableau on lui donnant un code, j'explique(si j'entre la chambre N° 1, le programme va m'afficher son etat, son prix ...). j'espere que c'est clair...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Au fait je ne comprends pas tes constructeur c'est quoi tes variables num cat eta cap et ils servent à quoi?
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
3 juin 2007 à 17:44
Je me demande si t'a deja lu l'exercice ecrit au debut ou non, bien sur si tu lis le programme directement, tu va rien comprendre,..
Alors il nous a demander à la question 2 de créer une methode "saisie_chmabre" qui doit initialiser l'état (eta) de la chambre à la valeur "l", controler le prix qui est superieur à 0, tout en ayant une capacité (cap) d'acceuil entre 1 et 4..
c'est pour cela que j'ai ecrit tt l'exercice pour pour bien expliquer mon problem

p.s. (dsl pour le derangement)..
0
Voici ce que j'ai essayé de faire avec ton code j'ai pas ta classe essai pour le tester.
Un conseil essaye d'ameliorer ton code car les deux class ne communique pas donc je ne vois pas l'importance décrire deux classe puisque la classe chmabree.java n'intervient pas dans la classe alors qu'elle est censée la tester d'apres ma compréhension.
Bon courage mais si tu veux que je t'aide il n'ya aucun soucis.
BYE!!!!!!!!!!
/*
*chambree.java
*/
public class chambree {
public static Object[] Tchambre=new Object[100];
private int numero;
private int categorie;
private double prix;
private int capacity;
private char etat;

public chambree(){}
public chambree (int num,int cat,double prix){
this.numero=num;
this.categorie=cat;
this.prix=prix;
}
public int getnumero(){
return numero;
}
public int getcategorie(){
return categorie;
}
public double getprix(){
return prix;
}

public void affiche_chambre(){
System.out.println("Numero: "+numero+"\nCategorie: "+categorie+"\nPrix: "+prix);
}
}
/**
*chambretest.java
*/
public class chambretest {

public static void saisie_chambre()throws Exception{

char etat='L';
double pr;
int cap;

System.out.println("entrer l'etat de la chambre:");
char eta=essai.getchar();
do{
System.out.println("entrer le prix:");
pr=essai.getdouble();
}while(pr<0);
do{
System.out.println("entrer la capacité d'acceuil (entre 1 et 4):");
cap=essai.getint();
}while(cap<1 && cap>4);
System.out.println("entrer la categorie du chambre:");
int cat=essai.getint();

Object[] Tchambre=new Object[100];
chambree.Tchambre[0]=eta;
chambree.Tchambre[1]=pr;
chambree.Tchambre[2]=cap;
chambree.Tchambre[3]=cat;
}
public static void afficher()throws Exception{
saisie_chambre();
System.out.println("entrer la categorie du chambre:");
int ca=essai.getint();
for(int i=0;i<chambre.Tchambre.length;i++){
System.out.println(chambree.Tchambre[i]);

}
}
public static void main(String[] args)throws Exception {
afficher();
}
}
0
progfann Messages postés 365 Date d'inscription dimanche 11 mars 2007 Statut Membre Dernière intervention 23 septembre 2010 23
3 juin 2007 à 20:08
merci pour ton aide, ca marche!! mais seulement ça me reste un petit probleme :( C'est que si j'ajoute autre enregistrement dans le tableau, et je veux afficher les premiers par une categorie donnée, il affiche seulement les derniers , c'est comme s' il ecrase les premiers enregistrement,

voila le programme que j'ai amélioré:

public class chambretest {

public static void saisie_chambre()throws Exception{

char etat='L';
double pr;
int cap;

System.out.println("entrer l'etat de la chambre:");
char eta=essai.getchar();
do{
System.out.println("entrer le prix:");
pr=essai.getdouble();
}while(pr<0);
do{
System.out.println("entrer la capacité d'acceuil (entre 1 et 4):");
cap=essai.getint();
}while(cap<1 && cap>4);
System.out.println("entrer la categorie du chambre:");
int cat=essai.getint();

Object[] Tchambre=new Object[4];
chambree.Tchambre[0]=eta;
chambree.Tchambre[1]=pr;
chambree.Tchambre[2]=cap;
chambree.Tchambre[3]=cat;
}
public static void afficher()throws Exception{
//saisie_chambre();
System.out.println("entrer la categorie du chambre:");
int ca=essai.getint();
for(int i=0;i<chambree.Tchambre.length;i++){
System.out.println(chambree.Tchambre[i]);

}
}
public static void main(String[] args)throws Exception {
boolean fin=false;
while(!fin){
System.out.println("entrer A-------->ajouter");
System.out.println("entrer F-------->afficher");
System.out.println("entrer Q-------->quitter");
char rep=essai.getchar();
switch(rep){
case'A': saisie_chambre();break;
case 'F': afficher();break;
case 'Q': fin=true;break;
}
}

}
}

je te remercie une autre fois..
0
Je comprends pas ru veux ajouter d'autres objets à ta liste c'est cela?
Enfin si c'est cela il te faut un compteur du genre int cpte=0; et au lieu de faire chambree.Tchambre[0]=...;par exemple tu fais chambree.Tchambre[cpte]=...;cpte++;comme le compteur se positionne chaque fois à la derniere indice du tableau utilisée.mais à la fin il faut lui faire un test de sortie du genre if(cpte==99)break;
pour ne pas que le compteur depasse la dimension de ton tableau.
Je ne peux pas lire ton programme car il y a beaucoup de choses à améliorer.Mais essaie de faire comme je t'ai dit ca va marcher.
Bon courage!!!
0