【发布时间】:2014-01-17 22:15:19
【问题描述】:
我正在尝试为自己创建一个程序作为哈希图的教程。我要求用户输入文本并尝试将其拆分为哈希图,然后如果单词重复则增加计数。这是我的程序:
import java.util.*;
import java.lang.*;
import javax.swing.JOptionPane;
import java.io.*;
public class TestingTables
{
public static void main(String args[])
{
{
String s = JOptionPane.showInputDialog("Enter any text.");
String[] splitted = s.split(" ");
HashMap hm = new HashMap();
int x;
for (int i=0; i<splitted.length ; i++) {
hm.put(splitted[i], i);
System.out.println(splitted[i] + " " + i);
if (hm.containsKey(splitted[i])) {
x = ((Integer)hm.get(splitted[i])).intValue();
hm.put(splitted[i], new Integer(x+1)); }
}
}
}
}
当我输入“random random random”时,我得到: 随机 0 随机 1 随机 2
我需要改变什么才能得到: 随机 3 另外,我需要使用迭代器来打印出 hashmap,还是我使用的可以?
【问题讨论】:
-
你为什么打电话给
hm.put(splitted[i], i);? -
@MiserableVariable 我在 Java API 上找到了语法,这是他们在示例中使用的变量。我只是忘记改了。
标签: java for-loop count hashmap