-4

Java で countTokens() メソッドを使用しようとしましたが、文字列として指定した入力のトークンが 1 つしか表示されません。

import java.util.*;

public class uhu {

  public static void main(String[] args) {

    System.out.println("Hit n");
    Scanner sc = new Scanner(System.in);
    try {
        int n = sc.nextInt();//scan the size of the array
        String[] str=new String[n];
        System.out.println("Enter elements");
        sc.nextLine();
        for (int i = 0; i < n; i++) //scanning the elements 
        {
            str[i]=sc.nextLine();
        }
        for (int i = 0; i < n; i++) //printing the count of tokens
        {
            StringTokenizer st=new StringTokenizer(str[i]);
            System.out.println("Count of tokens for "+i+"string is :"+st.countTokens());
        }
    } finally {
        if (sc != null)
            sc.close();
    }

  }

}
4

2 に答える 2

0

現在、StringTokenizer の使用は推奨されていません。代わりに String.split() を使用してください

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)

デフォルトでは、StringTokenizer はスペースを使用して文字列を分割するため、スペースを使用して文字列を分割する split(" ") を使用します。

于 2013-07-21T11:55:07.470 に答える