2017-05-11 1 views
-3

Existe-t-il un moyen de compter le nombre de mots dans une entrée de chaîne au début d'un programme et d'utiliser ce nombre comme nombre d'arguments de ligne de commande dans un static public void ] args) programme?Analyse d'une phrase Java et sortie de chaque mot

L'affectation dit:

Ecrire un programme avec lequel vous pouvez reléguer un certain nombre de paramètres de ligne de commande (chaînes). Les paramètres consignés doivent alors être sortis sous la spécification de leur position (leur numéro)

+0

Les arguments de ligne de commande doivent être donnés lors de l'exécution du programme. –

+1

Cela n'a pas vraiment de sens. Pouvez-vous élaborer davantage sur ce que vous voulez exactement accomplir? – Akshay

+1

De même, 'dans un programme public static void main (String [] args)'. Chaque programme Java est un programme public static void main (String [] args) '. – Ivar

Répondre

0

Comment obtenir le nombre de mots? est Ici, il

Scanner sc = new Scanner(System.in); 
    String []s = sc.nextLine().split(" "); 
    System.out.println("Number of words : "+s.length); 

le reste, vous pouvez le comprendre

+0

Cela m'a déjà beaucoup aidé. Maintenant, j'ai juste besoin de savoir comment accéder à chaque argument et le sortir, donc je peux faire ce qui suit: Input = "Hello World". Output = "Nombre de mots: 2, (1) Bonjour (2) Monde". Jusqu'à présent, j'ai obtenu ceci: pour (int i = 0; i

+0

Ce n'est en fait pas un devoir. C'est un exercice java qui n'a pas à être fait mais je voulais savoir comment le faire quand même. –

+0

Je me fous des downvotes ou d'autres choses. Je veux juste apprendre Java et aussi longtemps que je reçois l'aide dont j'ai besoin je vais bien avec ça. C'était une question plutôt stupide de toute façon. –

0

j'ai tout compris moi-même. Ce que je voulais faire était le suivant:

import java.util.Scanner; 

public class HelloJava { 
    public static void main (String[] args) { 
     System.out.println ("Hello JAVA"); 
     System.out.println ("Please enter your text: "); 

     Scanner scan = new Scanner(System.in); 
     String []s = scan.nextLine().split(" "); 
     System.out.println("Number of words : "+s.length); 
     scan.close(); 
     for (int i = 0; i < s.length; i++) { 
      int counter = i+1; 
      System.out.println ("("+counter+")" + s[i]); 
     }   
    } 
} 

Et cela fonctionne maintenant comme un charme!

+0

Ensuite, je ne suis pas sûr de ce que les arguments de la ligne de commande doivent faire avec. – Ivar

+0

Un de mes amis l'a fait en convertissant tout en char, en scannant la ligne pour les espaces, en utilisant ceux comme séparateurs et beaucoup plus de fonctions inutilement compliquées, mais mon professeur nous a dit que cela peut être fait beaucoup plus facile avec les arguments String classe. –

+0

Etes-vous sûr que c'est ce dont vous avez besoin. Ce code ne prend pas les paramètes. Vous pouvez tester ce code en créant une autre classe et en appelant la méthode principale this class. (c'est-à-dire HelloJava.main (new String [] {"Bonjour", "JAVA"}); ') – JCalcines