Bonjour a tous j'ai quelques problèmes dans mon programme et je vous demande votre aide
Mon programme est simple et donc pas très élaboré il permet de faire la gestion d'un hôtel et dans le menu quand je fait appelle a l'objet supprimerClients() au final sa fait rien du tous et si vous avez d'autre astuce ou amélioration pour celui ci n'hésitez pas merci d'avance
la class menu
package hotel;
import java.util.*;
public class Menu {
public static void main(String[] args) {
byte choix=0;
Classe C= new Classe();
Dates D=new Dates();
Scanner lectureClavier=new Scanner(System.in);
do{
System.out.println("");
System.out.print("Nous sommes le : ");
D.AfficherDate();
System.out.println(" __________________________________");
System.out.println("| |");
System.out.println("| 1. Ajouter un Client |");
System.out.println("| 2. Afficher la liste des Clients |");
System.out.println("| 3. Supprimer Clients |");
System.out.println("| 4. Modifier un Clients |");
System.out.println("| 5. Facture d'un Clients |");
System.out.println("| 6. Afficher les chambres libres |");
System.out.println("| 7. Fermer le programme |");
System.out.println("|__________________________________|");
System.out.print("Votre choix : ");
choix=lectureClavier.nextByte();
switch (choix){
case 1: C.ajouteUnClient();
break;
case 2: C.afficheLesClients();
break;
case 3 : C.supprimerClients();
break;
case 4 :
break;
case 5 :
break;
case 6 :
break;
case 7 : System.exit(0);
default : System.out.println("Cette option n'existe pas ");
}
}
while(choix!=7);
}
}
la class classe
package hotel;
import java.util.*;
public class Classe {
private ArrayList<Client> liste;
private int chambreliste,chambreaffichage;
Scanner lectureClavier = new Scanner(System.in);
public Classe(){
liste = new ArrayList<Client>();
}
public void ajouteUnClient(){
liste.add(new Client());
chambreliste++;
}
public void afficheLesClients() {
int nbClients = liste.size();
if (nbClients > 0) {
for (int i = 0 ; i< nbClients ; i++) {
Client tmp = (Client) liste.get(i) ;
chambreaffichage=i;
chambreaffichage++;
tmp.afficheLesClients(chambreaffichage);
}
}
else
System.out.println("Il n'y a pas de Client dans cette Hôtel");
}
public void supprimerClients() {
int num;
System.out.println("Entrez le numéro de chambre : ");
num=lectureClavier.nextInt();
num--;
Client tmp= (Client) liste.get(num);
if(tmp.supprimerClients()==true)
liste.remove(num);
}
}
la class client
package hotel;
import java.util.*;
public class Client {
private String nom,prénom;
private int durée=0 ,total;
Dates D=new Dates();
Chambres C= new Chambres();
byte choix=0;
Scanner lectureClavier = new Scanner(System.in);
public Client(){
System.out.println("Entrer le nom du Client : ");
nom = lectureClavier.next();
System.out.println("Entrer le prénom du Client : ");
prénom= lectureClavier.next();
System.out.println("Durée du séjour : ");
durée= lectureClavier.nextInt();
do{
System.out.println("Choix de la chambre");
System.out.println(" ______________________________________");
System.out.println("| |");
System.out.println("| 1. Chambre Simple(1 pers.) |");
System.out.println("| 2. Chambre Double(2 pers.) |");
System.out.println("| 3. Chambre de luxe(2 pers.) |");
//System.out.println("| 4. Choisir la chambre par son numéro |");
System.out.println("| 4. Infos sur les chambres |");
System.out.println("|______________________________________|");
System.out.print("Votre choix : ");
choix=lectureClavier.nextByte();
switch (choix){
case 1: C.ChambreSimple();
total=C.total(durée);
break;
case 2: C.ChambreDouble();
total=C.total(durée);
break;
case 3 : C.Chambreluxe();
total=C.total(durée);
break;
// case 4 : C.ChambreManuel();
// break;
case 4 : C.InfoChambre();
break;
default : System.out.println("Cette option n'existe pas ");
}
}
while(choix>=4);
}
public void afficheLesClients(int chambreaffichage) {
System.out.print("La chambre " + chambreaffichage + " est occupée par " + nom+" "+prénom+ " jusque le ");
D.DatePartir(durée);
}
public boolean supprimerClients() {
boolean accord=false;
String verif;
if (C.total(durée)>0)
{
System.out.println("Vous ne pouvez pas supprimer ce client, il n'a pas encore payer");
System.out.print("Total à payer : ");
System.out.print(total);
System.out.println(" €");
System.out.println("Payer maintenant ? oui(o) non(n)");
verif=lectureClavier.next();
if (verif=="o"){
total=0;
accord=true;}
}
else
{
accord=true;
}
return accord;
}
}
la class dates
package hotel;
import java.util.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class Dates {
// * Choix de la langue francaise
static Locale locale = Locale.getDefault();
static Date actuelle = new Date();
// * Definition du format utilise pour les dates
static DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
// * Donne la date au format "jj-mm-aaaa"
String dat = dateFormat.format(actuelle);
public void AfficherDate()
{
String dat = dateFormat.format(actuelle);
System.out.println(""+dat);
}
public void DatePartir(int durée){
int tmps;
int jour[]={0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//tableau pour le nombre des jours dans les mois
int mois;
int jours;
int année;
String séparation;
String datepartir;
jours=Integer.parseInt(dat.substring(0,2));//jours en int
mois=Integer.parseInt(dat.substring(3,5));//mois en int
année=Integer.parseInt(dat.substring(6,10));//année en int
séparation=dat.substring(2,3);
tmps=durée+jours;
while(tmps>jour[mois]){
jours=tmps-jour[mois];
tmps=tmps-jour[mois];
mois++;
if(mois>12)
{
année++;
mois=1;
}
else;
}
jours=tmps;
datepartir=Integer.toString(jours).concat(séparation).concat(Integer.toString(mois).concat(séparation).concat(Integer.toString(année)));
System.out.println(""+datepartir);
}
}
la class chambres
package hotel;
import java.util.*;
public class Chambres {
Classe C= new Classe();
Scanner lectureClavier = new Scanner(System.in);
private int montant=0;
public void InfoChambre(){
System.out.println("Chambre simple : 80€ 1 jour et 1 nuit");
System.out.println("Chambre double : 140€ 1 jour et 1 nuit");
System.out.println("Chambre de luxe : 300€ 1 jour et 1 nuit");
}
public void ChambreSimple(){
montant=montant+80;
}
public void ChambreDouble(){
montant=montant+140;
}
public void Chambreluxe(){
montant=montant+300;
}
public int total(int durée) {
int total;
total=montant*durée;
return total;
}
}
Au final je voulais vous dire que je suis un débutant :s et que mon programme est loins d'êtres fini donc faite preuve d'indulgence merci
Le message qui suit est une réponse automatique activée par un modérateur.
Les réponses automatiques permettent d'éviter aux modérateurs d'avoir à répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter le modérateur en question par MP.
Veuillez modifier le titre du sujet
Bonjour,
Ce sujet a un titre qui ne décrit pas correctement le sujet, ou il est écrit en majuscules.
La présentation de votre message étant néanmoins correcte, nous ne fermons pas le sujet, mais vous êtes invité(e) à modifier son titre en éditant votre premier message.
Cette modification doit être faite dans les plus brefs délais, sans quoi nous serons dans l’obligation de clore le sujet .
Voici quelques correspondances pour vous aider à choisir au mieux votre titre :
Si vous êtes l'auteur du topic, vous pourrez uniquement le changer en éditant le premier post du topic à l'aide de l'icône .
Merci de votre compréhension
Les modérateurs.
poo erreur dans un if
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.