0

我有这个 hashCode 函数,我一直在尝试用 Eclipse 实现,但我的测试一直失败。我正在尝试编写一个返回单词或数字的最后 2 或 3 个字符的 Hashcode 函数。这是我当前的代码:

 public int hashCode(String value){
 String test = value;
 int hash = 1;
 int len = test.length();
 System.out.println(len);
 for ( int i=0; i<len; i++ )
       {
       hash = 31 * hash + len;
       }
    return hash;
}

这是我的 Junit 测试:

    @Test // hashCode()
 public void testHashCode1() {
  //Integer key1 = 123;
  String key2 = "and";
  assertEquals("and", key2.hashCode());
 }

每次我运行我的测试它失败表明:

预期但为:<96727>

现在我真的很想让这个函数接受一个单词或数字并返回所接受对象的最后两个或三个字符。有谁知道如何使用 hashCode 来做到这一点。非常感激任何的帮助

4

2 回答 2

0

这可能是编辑器修改代码的问题,但我在循环内的任何地方都看不到value或使用过。test

于 2010-02-19T15:18:19.897 回答
0

public int hashCode(字符串值)

并调用

assertEquals("and", key2.hashCode());

你甚至没有覆盖它,请正确更改签名以不接受任何参数:)

于 2010-02-19T15:20:13.653 回答