Java Hashtable contains()不';不读取字符类型
出于某种原因,我的哈希表的Java Hashtable contains()不';不读取字符类型,java,char,hashtable,Java,Char,Hashtable,出于某种原因,我的哈希表的contains()方法不起作用。我试图创建一个哈希表,记录每个字母在一个单词中被找到的次数 字符:#出现次数 如果能了解我的错误做法,我将不胜感激 Hashtable<Character, Integer> table = new Hashtable<Character, Integer>(); char[] array = word.toCharArray(); //inserting letters into table for (cha
contains()
方法不起作用。我试图创建一个哈希表,记录每个字母在一个单词中被找到的次数
字符:#出现次数
如果能了解我的错误做法,我将不胜感激
Hashtable<Character, Integer> table = new Hashtable<Character, Integer>();
char[] array = word.toCharArray();
//inserting letters into table
for (char letter : array) {
//letter is already in table
if (table.contains(letter)) {
int x = table.get(letter);
x++;
//overwriting with updated value
table.put(letter, x);
}
//if letter is not already in table
else {
table.put(letter, 1);
}
}
Hashtable=newhashtable();
char[]数组=word.toCharArray();
//在表格中插入字母
for(字符字母:数组){
//这封信已经在桌子上了
如果(表包含(字母)){
int x=表格get(字母);
x++;
//用更新的值覆盖
表1.put(字母x);
}
//如果字母不在表中
否则{
表1.put(字母1);
}
}
这是因为contains方法查找的是值,而不是键,所以您必须使用containsKey()方法来接收案例中的字符
应该是这样的
更新:这次重构怎么样
String word ="hello";
Hashtable<Character, Integer> table = new Hashtable<Character, Integer>();
//inserting letters into table
int x;
for (char letter : word.toCharArray()) {
//letter is already in table
if (table.containsKey(letter)) {
x = table.get(letter)+1;
}
//if letter is not already in table
else {
x=1;
}
table.put(letter, x);
}
System.out.println( table);
String word=“hello”;
Hashtable=新的Hashtable();
//在表格中插入字母
int x;
for(字符字母:word.toCharArray()){
//这封信已经在桌子上了
if(表格containsKey(字母)){
x=表格。获取(字母)+1;
}
//如果字母不在表中
否则{
x=1;
}
表1.put(字母x);
}
系统输出打印项次(表);
这是因为contains方法查找的是值,而不是键,所以您必须使用containsKey()方法来接收案例中的字符
应该是这样的
更新:这次重构怎么样
String word ="hello";
Hashtable<Character, Integer> table = new Hashtable<Character, Integer>();
//inserting letters into table
int x;
for (char letter : word.toCharArray()) {
//letter is already in table
if (table.containsKey(letter)) {
x = table.get(letter)+1;
}
//if letter is not already in table
else {
x=1;
}
table.put(letter, x);
}
System.out.println( table);
String word=“hello”;
Hashtable=新的Hashtable();
//在表格中插入字母
int x;
for(字符字母:word.toCharArray()){
//这封信已经在桌子上了
if(表格containsKey(字母)){
x=表格。获取(字母)+1;
}
//如果字母不在表中
否则{
x=1;
}
表1.put(字母x);
}
系统输出打印项次(表);
。。。我是个傻瓜。谢谢。我更新了代码,这是我的输出{l=2,h=1,e=1,o=1}。。。我是个傻瓜。谢谢。我更新了代码,这是我的输出{l=2,h=1,e=1,o=1}