2012-12-04 2 views
3

J'essaie actuellement d'implémenter un Pokedex qui utilise simplement une liste de tableaux pour stocker des objets Pokémon. ceci est censé être une interface de ligne de commande avec certaines commandes comme ajouter, supprimer, info, aide, etc. Je me demandais juste la meilleure façon de trouver la commande entrée par l'utilisateur. Ils sont également autorisés à entrer plus d'une commande par ligne.Obtenir des mots en utilisant un StringTokenizer

il est supposé que l'utilisateur entre le bon nombre de termes après chaque commande.

par exemple la course de l'échantillon pourrait être:

>>>add PIKACHU ELECTRIC 1 These mouse-like creatures are among the most sought-after Pokemon. 

>>>info PIKACHU 
PIKACHU ELECTRIC 1 These mouse-like creatures are among the most sought-after Pokemon. 

>>>add RAICHU ELECTRIC 2 remove PIKACHU 

Actuellement j'ai un StringTokenizer qui passe par pour voir si le mot suivant est .equal (« add ») et si elle est que j'appelle mon add () méthode que j'ai déjà mis en œuvre. Je ne suis pas sûr de savoir comment vérifier plusieurs commandes par ligne non plus.

Répondre

0

Pour l'interface de ligne de commande, vous pouvez utiliser Apache Commons Command Line Interface

et obtenir le meilleur exemple pour la même chose de here

+0

C'est juste un programme basé sur la console que je ne peux écrire que dans Eclipse. Je ne peux rien utiliser de tiers. Je n'ai vraiment pas l'expérience d'un programmeur mais merci d'avoir répondu! – user1874239

+0

Je pense plutôt qu'écrire votre propre programme pour l'interaction de la console, vous feriez mieux d'utiliser l'API disponible qui est sans bug, plus rapide, facile à développer et fiable. –

+0

@BhavikAmbani: Il semble que si vous avez raison, ce n'est pas une option dans ce cas. –

0

Vous pouvez utiliser la méthode .nextToken() pour obtenir la prochaine chaîne.

Sinon, vous pouvez utiliser la méthode .split() comme suit:

String[] commands = input.split(); 
if(commands[0].equals("add"))... 
if(commands[1].equals("pikachu"))... 

ou tout ce que vous voulez faire. J'espère que cela pourra aider!

+0

merci mal essayer! – user1874239

Questions connexes