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 :

Affectation de variable


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Affectation de variable
    Bonjour à tous et à toutes,

    Je suis étudiant en école d'ingénieur et j'aimerai que vous m'aidiez si possible à résoudre un problème que je rencontre actuellement.
    J'aimerai coder un programme sur java qui demande à l'utilisateur de rentrer une heure quelconque et que je puisse affecter cette saisi à deux variables différentes. La n'est pas le soucis cependant, je n'arrive pas à le faire !!!! Un exemple serai peut être plus parlant :

    Je demande à l'utilisateur de entrer une heure, par exemple "8h30"
    J'aimerai affecter le 8 à une variable et 30 à une autre variable...
    Seulement le "h" étant un caractère comment on peut passer outre cette saisi ?

    Le problème est très con je l'admet mais je débute tout juste la prog et je ne sais pas comment je pourrai faire cela.

    Merci de votre aide !!!

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Est-ce que tu as pensé à substring ?
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Tu as plusieurs solutions.
    Mais globalement, elles vont avoir toutes le même principe de base reconnaitre le séparateur.
    Supposons que tu ai dans une variable :
    Globalement, il t'es possible de réalisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String heure = saisi.split("h")[0];
    String minute= saisi.split("h")[1];
    Bien-sûr il est préférable d'ajouter des contrôles avant de faire ce genre de chose. Car, on suppose que le split("h") nous retournera un tableau à au moins deux cases. Ce qui n'est pas forcement le cas.

    Si tu utilise les expressions régulière tu peux partir sur l'expression suivante :
    Citation Envoyé par Expression régulière
    (\d+)\D+(\d+)
    Où :
    \d Un chiffre, équivalent à : [0-9]
    \D Un non-chiffre : [^0-9]
    () Groupe de capture
    + De une à n occurrences.

    Cependant, je déconseille les expressions régulières contenu de ton niveau.

    Ce qui veux dire que tu va être obliger dans un second temps de valider que tu as bien deux nombre dans les variables heure et minute. Ce qui se fait généralement avec la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int maValeur = Integer.valueOf("30");
    Note : A penser que tu peux avoir une exception à ce niveau là :
    NumberFormatException - if the string cannot be parsed as an integer
    Cordialement
    Patrick Kolodziejczyk.

    source :
    http://cyberzoide.developpez.com/tutoriels/java/regex/
    http://docs.oracle.com/javase/7/docs...lang.String%29
    http://docs.oracle.com/javase/7/docs...lang.String%29

    Edit : Le substring est possible si tu as des tailles fixes. Ce qui n'est pas forcement le cas avec des heures par exemple : "8h30" et "10h15".
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Euh... j'avoue ne rien comprendre la...

    Je pense aussi que la méthodes des expression régulière est bien au dessus de mon niveau.

    J'ai essayé de d'incorporer le séparateur "h" mais je crois que je n'ai pas la bibliothèque nécessaire... j'ai la bibliothèque StdInput seulement qui ne rentre que des int, double, long et char... pas de string... avez vous un lien pour la bibliothèque ?

    Merci de votre aide et désolé pour mon niveau de noob... mais bon faut bien commencer à un moment ^^"

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Citation Envoyé par kikoupe Voir le message
    j'ai la bibliothèque StdInput seulement qui ne rentre que des int, double, long et char... pas de string... avez vous un lien pour la bibliothèque ?
    Si c'est vrai, alors elle ne peut rien pour toi et tu dois oublier cette idée.

    "StdInput" n'est pas quelque chose de connu dans le monde Java, et n'est probablement pas utile.

    Java propose déjà des classes et utilitaires pour lire les entrées utilisateur, notamment Scanner, qui te permettrait sans problème de lire une ligne sous forme de String.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Peux-tu nous présenter ton code qui récupérer la saisi utilisateur ? Qu'on t’indique ce qui manque.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    J'ai réussit à lire la saisie en String !! Il m'indique qu'il faut que je rajoute un argument pour pouvoir lire la saisie par exemple argument StdInput.readString(2); renvoie 8h au lieux de 8h30.

    Euh oui bien sûre ! Au risque de passer pour un incapable ^^ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main(String[] args) throws EOFException, IOException {
    	System.out.println("Entrer l'heure : ");
    	String heureMinute = StdInput.readString(5);
    }

    Vive mon prof de POO --" il nous obligé à utiliser cette bibliothèque...

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par kikoupe Voir le message
    Vive mon prof de POO --" il nous obligé à utiliser cette bibliothèque...
    J'ai connu ça, comme tant d'autres.
    Je suis à peu près sûr que ça ne sert à rien, mais on est nombreux à passer par là sans avoir les moyens de le deviner.

    En tout cas, bravo pour avoir trouvé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par thelvin Voir le message

    En tout cas, bravo pour avoir trouvé.
    Oué !!! au moins j'aurai trouvé un truc mdr !

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    bon j'ai trouvé un truc en bidouillant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void main(String[] args) throws EOFException, IOException {
    		System.out.println("Entrer l'heure de la forme 00h00 : ");
    		String heureMinute = StdInput.readString(5);
    		for (String retval: heureMinute.split("h", 3)){
    			System.out.println(retval);
    		}
    	}
    pour "08h30" ça me renvoie :
    08
    30

    On avance ou pas du tout :S ?

  11. #11
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Tu dira à ton professeur ceci :
    Un membre du forum de developpez.com aimerait qu'il arrête de présenter et utiliser des librairies déprécié.
    Tu peux même lui donner le lien vers cette discutions. Il a sérieusement besoin de revoir ses méthodologies sa pédagogique et ses connaissances.

    C'est littéralement scandaleux. Comment peut-on prétendre être professeur d'information et apprendre le Java à ses élevées, si on n'est même capable d'utiliser la base de l'API standard le langage utilisé ? Même les vieux tutoriels des sites les moins bien maintenu sur le sujet font mieux...

    Même avant Java 5, il y avait déjà ce qu'il fallait dans l'API standard...

    Comment lire des informations sur l'entrée standard ?

    Cordialement,
    Patrick Kolodziejczyk.

    Edit : Si tu avance :

    Si tu modifie un peu ton code Pour enregistre les valeurs au lieu de les parcourir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main(String[] args) throws EOFException, IOException {
    		System.out.println("Entrer l'heure de la forme 00h00 : ");
    		String heureMinute = StdInput.readString(5);
    		String[] splited = heureMinute.split("h", 3);
    		String heure = splited [0];
    		String minute = splited [1];
    		System.out.println(heure);
    		System.out.println(minute);
    	}
    Après il te reste à faire le lien avec ce que je t'ai présenté dan mon premier poste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int maValeur = Integer.valueOf("30");
    Pense à aller voir mes sources ! C'est la documentation officiel des méthodes. Cela est très utile et un réflexe à avoir en Java. (D'où le lien dans ma signature)

    Cordialement,
    Patrick Kolodziejczyk.
    source :
    http://docs.oracle.com/javase/7/docs...lang.String%29
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci pour l'astuce !!!

    Je récupère bien mes deux variables en int avec Integer.parseInt(String);
    Je lui passerai le mot à mon prof !

    vous êtes trop fort !!! Merci encore !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affectation de variable
    Par bob33 dans le forum C
    Réponses: 3
    Dernier message: 04/11/2005, 17h01
  2. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  3. affecter une variable de type stringstream
    Par sorari dans le forum SL & STL
    Réponses: 3
    Dernier message: 24/03/2005, 11h14
  4. [PS] affectation de variable
    Par madmortal dans le forum SQL
    Réponses: 2
    Dernier message: 01/09/2004, 13h17
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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