IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème d'entrée clavier qui ne ressort pas


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2014
    Messages : 17
    Par défaut problème d'entrée clavier qui ne ressort pas
    (re-)Bonjour !

    Après moultes explications sur diverses problèmes et variés, et afin de me sortir un peu l'esprit du premier programme. J'ai voulu faire un exo qui me paraissait très simple au premier abord.

    Voilà le speech :
    Ecrire le traitement permettant de connaître, pour un jour donné de la semaine, tous les bâtiments des entreprises qui doivent faire l'objet d'une intervention.
    Je me suis dit bon ça semble simple suffit de demander d'entrer un jour puis un mois et enfin une année, puis scan d'un tableau afin de voir ce qui correspond puis le faire ressortir.

    Mais voilà mon soucis, le mieux est-il ici d'utiliser un tableau (avec nomEntreprise, BatimentEntreprise, jourNettoyage), ou alors une collection (je n'ai pas encore étudié le sujet juste vu le nom) ou alors une BDD (idem) ?

    Merci à ceux qui pourront m'aider un peu !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2014
    Messages : 17
    Par défaut
    Petit up du message.

    Alors je me suis dit pour le moment je vais essayer de me focaliser sur l'insertion des données par l'utilisateur.
    J'ai donc voulu faire simple et faire :
    rentre jour
    rentre mois
    rentre année

    voilà le code que j'ai essayé de monter :
    Code Main : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package exam;
     
    import java.util.Scanner;
     
    public class Main {
     
    	public static void main(String[] args) {
    char rep=' ';
    Scanner sc=new Scanner(System.in);	
    event E=new event();
    int mois='0',jour='0',annee='0';
     
    do{//boucle principale
     
    	do{//boucle scanner
     
    		E.jourChoix(jour);
    		E.moisChoix(mois);
    		E.anneeChoix(annee);
    	System.out.println("jour =" +jour);
    	System.out.println("mois ="+mois);
    	System.out.println("annee ="+annee);
     
    		do{//boucle validation date
    		System.out.println("Vous désirez obtenir des informations sur la date du : " );
    		System.out.println("Validez vous ce choix ? (O/N)");
    		rep=sc.nextLine().charAt(0);
    		if(rep!='O' && rep!='o' && rep!='N' && rep!='n')
    			System.out.println("Désolé je ne comprends pas votre réponse");
    		}while(rep!='O' && rep!='o' && rep!='N' && rep!='n');
    	}while(rep!='O' && rep!='o');
     
    }while(rep=='O' || rep=='o');
     
    	}
     
    }

    Code Event : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    package exam;
     
    import java.util.Scanner;
     
    public class event {
    	Scanner sc=new Scanner(System.in);
     
    public String[] tbleMois = {"janvier","février","mars","avril","mai","juin","juille","aout","septembre","octobre","novembre","decembre"};
     
     
     
    public void jourChoix(int jour){
    	do{//boucle de validation
    		System.out.println("Veuillez entrer un jour s'il vous plait");
    		jour=sc.nextInt();
    		if(jour <=0){
    			System.out.println("Ce nombre ne correspond pas à un jour valide, réssayer s'il vous plait");
    		}
    		else if(jour>=32){
    			System.out.println("Ce nombre ne correspond pas à un jour valide, réssayer s'il vous plait");
    		}
    		else{
    			System.out.println("vous avez choisit le jour : "+ jour);
    		}
     
     
    	}while(jour<=0 | jour>=32 );
    }
     
     
    public void moisChoix(int mois){
    	do{//boucle de validation du nombre choisit
    		System.out.println("Veuillez entrer un mois s'il vous plait");
    		mois=sc.nextInt();
    		if(mois <=0){
    			System.out.println("Ce nombre ne correspond pas à un mois valide, réssayer s'il vous plait");
    		}
    		else if(mois>12){
    			System.out.println("Ce nombre ne correspond pas à un mois valide, réssayer s'il vous plait");
    		}
    		else{
    			System.out.println("vous avez choisit le mois : "+tbleMois[mois-1]);
    		}
     
     
    	}while(mois <=0 || mois>12);
    }
     
     
    public void anneeChoix(int annee){
    		do{//boucle de validation
    			System.out.println("Veuillez entrer une année s'il vous plait");
    			annee=sc.nextInt();
    			if(annee <2014){
    				System.out.println("Cette anée est déjà passé, si vous désirez des informations sur celle-ci regarder dans les archives, merci.");
    			}
    			else if(annee==2014){
    				System.out.println("vous avez choisit l'année : "+ annee);
    			}
    			else if(annee>2014){
    				System.out.println("Cette année n'est pas encore visible, désolé");
    			}
     
    		}while(annee <2014 || annee>2014 || annee!=2014);
     
    }
     
     
     
    }

    Seulement, quand j’exécute le code voilà ce que me ressort le programme
    jour =48
    mois =48
    annee =48
    Je continu de creuser pour savoir pourquoi, mais une fois de plus j'ai un peu de mal, alors je viens vous demander de l'aide.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Le but de tes méthodes jourChoix, moisChoix et anneeChoix, est d'obtenir des informations. Elles ne peuvent donc pas être void et doivent faire un return de l'information à obtenir.
    De plus, elles n'ont pas besoin de paramètre pour obtenir ces informations. Elles ont juste besoin du Scanner qui fait partie de leur classe. Il ne faut donc pas qu'elles prennent de paramètre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2014
    Messages : 17
    Par défaut
    Merci de ta réponse.

    Si je comprends bien je dois donc changer mon code de la façon suivante ?

    Code Event : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    package exam;
     
    import java.util.Scanner;
     
    public class event {
    	Scanner sc=new Scanner(System.in);
     
    public String[] tbleMois = {"janvier","février","mars","avril","mai","juin","juille","aout","septembre","octobre","novembre","decembre"};
    private int mois,jour,annee;
     
     
     
     
     
    public int jourChoix(){
    	do{//boucle de validation
    		System.out.println("Veuillez entrer un jour s'il vous plait");
    		jour=sc.nextInt();
    		if(jour <=0){
    			System.out.println("Ce nombre ne correspond pas à un jour valide, réssayer s'il vous plait");
    		}
    		else if(jour>=32){
    			System.out.println("Ce nombre ne correspond pas à un jour valide, réssayer s'il vous plait");
    		}
    		else{
    			System.out.println("vous avez choisit le jour : "+ jour);
    		}
     
     
    	}while(jour<=0 | jour>=32 );
    	return jour;
    }
     
     
    public int moisChoix(){
    	do{//boucle de validation du nombre choisit
    		System.out.println("Veuillez entrer un mois s'il vous plait");
    		mois=sc.nextInt();
    		if(mois <=0){
    			System.out.println("Ce nombre ne correspond pas à un mois valide, réssayer s'il vous plait");
    		}
    		else if(mois>12){
    			System.out.println("Ce nombre ne correspond pas à un mois valide, réssayer s'il vous plait");
    		}
    		else{
    			System.out.println("vous avez choisit le mois : "+tbleMois[mois-1]);
    		}
     
     
    	}while(mois <=0 || mois>12);
    	return mois;
    }
     
     
    public int anneeChoix(){
    		do{//boucle de validation
    			System.out.println("Veuillez entrer une année s'il vous plait");
    			annee=sc.nextInt();
    			if(annee <2014){
    				System.out.println("Cette anée est déjà passé, si vous désirez des informations sur celle-ci regarder dans les archives, merci.");
    			}
    			else if(annee==2014){
    				System.out.println("vous avez choisit l'année : "+ annee);
    			}
    			else if(annee>2014){
    				System.out.println("Cette année n'est pas encore visible, désolé");
    			}
     
    		}while(annee <2014 || annee>2014 || annee!=2014);
    return annee;
    }
     
     
     
    }

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ben, ça marche déjà mieux, tu trouves pas ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2014
    Messages : 17
    Par défaut
    Non je ne remarque pas de différence

    J'ai toujours le même problème, désolé de t’embêter avec ça ^^

    Mini

Discussions similaires

  1. Entrée clavier qui ne bloque pas l'exécution.
    Par dark_tangente dans le forum Langage
    Réponses: 17
    Dernier message: 11/07/2010, 11h45
  2. Réponses: 6
    Dernier message: 04/09/2007, 00h11
  3. Problème de fenêtre modal qui ne stoppe pas le code en arrière plan
    Par Sebcaen dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 25/09/2006, 13h43
  4. Problème avec un div qui n'est pas pris en compte
    Par boss_gama dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 25/07/2006, 16h32
  5. Réponses: 8
    Dernier message: 26/01/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo