CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JAVA] Récupérer 2 nombre sur la même li

MounchMan
MounchMan
Niveau 10
08 décembre 2012 à 21:49:49

Récupérer 2 nombre sur la même ligne de console ?

Bonjour.

J'aimerais savoir s'il était possible de récupérer plusieurs nombres sur une même ligne de console. Y a-t-il une fonction toute faite pour ça ou faut-il que je la programme moi même :question:
Exemple : l'utilisateur rentre
458 84

J'aimerais bien pouvoir extraire les 2 valeurs 458 et 84 :(

Je sais qu'en C, on peut utiliser scanf("%d %d", var1, var2) mais existe-t-il un équivalent Java de cette fonction :question:

godrik
godrik
Niveau 30
08 décembre 2012 à 22:19:58

Ah les IO en java, que du bonheur.

Basiquement il faut construire un bufferedreader a partir de system.in
Une fois que tu as un bufferedreader, tu peux extraire un String qui contient une ligne entiere. Une fois que tu as une ligne, tu peux la donner a un StringTokenizer pour extraire les "mots" de la ligne. Une fois que tu as les mots, tu peux utiliser Integer.parseInt pour recuperer ton entier.

(Et apres on nous dit que c'est facil java...)

MounchMan
MounchMan
Niveau 10
08 décembre 2012 à 22:29:52

Merci Godrik :)

Poneymovez
Poneymovez
Niveau 9
08 décembre 2012 à 22:41:54

Je trouve pas ca facile mais logique. Nous meme on decompose comme ca. On voit une ligne, on lit la ligne, on lit mot par mot, si c'est un nombre on le transfert en "nombre" dans notre cerveau.

Enfin je vois les choses comme ca :-)))

godrik
godrik
Niveau 30
08 décembre 2012 à 23:17:54

C'est vraiment une horreur ce truc. Pourquoi est ce qu'une seule classe ne fournti pas toutes les fonctionnalite et ceci de facon coherente. L'exemple de C++ ou de C est bien plus clair.

En C: scanf ("%d %d\n", &i, &j);

En C++:
std::cin>>i>>j;

ou alternativement (et plus proprement):

std::stringstream ss (std::cin.getline());
ss>>i>>j;

En C++, iostream supporte les I/O formate ou non formate. Pourquoi est ce que c'est la merde complete en java?

Pseudo supprimé
Pseudo supprimé 09 décembre 2012 à 14:46:39

godrik :d) Peut-être parce que Java a été conçu avec autre chose que la ligne de commande en tête ? En tous cas, le résultat est là : pas grand monde ne développe des commandes en Java :D

Mais pour répondre à la question de l'auteur, la classe Scanner ne pourrait-elle pas t'aider ?

Neofungamer
Neofungamer
Niveau 21
09 décembre 2012 à 14:55:18

godrik, il y a plus simple en java :)

Scanner sc = new Scanner(System.in); <= récupère la ligne en entrée
String s = sc.nextLine(); <= on récupère la String
String [] parameters = s.split(' ');

MounchMan
MounchMan
Niveau 10
09 décembre 2012 à 18:55:55

Ah ! Diantre :hap:
J'ai utilisé la méthode de Godrik et j'ai eu le résultat attendu.
Mais je savais pas qu'il y avait plus simple :hap:
Tampis, je le saurais la prochaine fois :-)

godrik
godrik
Niveau 30
09 décembre 2012 à 19:47:13

Bon apparament, ca se voit que ca fait 10 ans que j'ai pas fait de java :)
Scanner a l'air utilisable pour faire de la deserialization textuelle. C'est bon a savoir.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment