我仍然是编程的新手,所以我只知道很少的java。
我想知道如何编写一个方法,可以采用文本文件或用户输入,并为第一个单词为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;
}
}