如何为文本文件中的每个单词或java中的用户输入分配数值

时间:2015-12-11 15:28:29

标签: java

我仍然是编程的新手,所以我只知道很少的java。

我想知道如何编写一个方法,可以采用文本文件或用户输入,并为第一个单词为1的每个单词分配一个数字。

1 个答案:

答案 0 :(得分:0)

您可以使用StringTokenizer来执行此操作。这是一个示例程序,您可以运行它以查看它是如何工作的。如果你想从文件中读取,那么你需要学习如何将文件转换为String,然后你只需将该字符串传递给makeWordItemsFromString方法。

import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class StringTokenizerDemo
{
    private static class WordItem
    {
        public int id;
        public String word;

        public WordItem(int id, String word)
        {
            this.id = id;
            this.word = word;
        }
    }

    public static void main(String[] args)
    {
        String text = "this is my text";
        List<WordItem> wordItems = makeWordItemsFromString(text);

        //Loop over them and print them out, or do whatever you like here
        for(WordItem wordItem : wordItems)
        {
            System.out.println(wordItem.word + "(" + wordItem.id + ")");
        }
    }

    private static List<WordItem> makeWordItemsFromString(String text)
    {
        int count = 1;
        List<WordItem> wordItems = new ArrayList<>();
        StringTokenizer tokenizer = new StringTokenizer(text);
        while(tokenizer.hasMoreTokens())
        {
            wordItems.add(new WordItem(count++, tokenizer.nextToken()));
        }
        return wordItems;
    }
}