0

我目前正在开发一个管理哈希表并允许添加新值的 Java 程序,它旨在填充表中的空元素并随着表的增长而动态扩展,每次都上升到下一个续集素数。我目前遇到的问题表面上看起来像是一个简单的变量调用错误,但我终其一生都无法理解并解决它。程序本身需要通过使用 JUnit 的 testHT 中规定的 6 项测试。任何对 Java 和 Hashtables 都有经验的人,我希望您能在解决这个问题时提供见解。

BlueJ 给出了一个 'symbol not found' 错误的关键 veribale

您可以在下面找到错误所在类的摘录,我会将其上传到 Google Drive 并在下面附上一个可共享的链接。

代码片段:

 public void put(String key, V value) {
     int h = hash(key) % max;
     if (getLoadFactor() > maxLoad) {
         resize();
     }
     int place = 0;
     if (hasKey(key) == true) {
         boolean running = true;
         while (running) {
             if (arr[place].key.equals(key)) {
                 Object newObject = new Object(key, value);
                 arr[place] = newObject;
             }
             place++;
         }
     }
     else {
        if (arr[h] == null) {
            Object newObject = new Object(key, value);
            arr[h] = newObject;
            itemCount++;
        } 
        else {
            int pos = findEmpty(h, 0, key, arr, max);
            Object newObject = new Object(key, value);
            arr[pos] = newObject;
            itemCount++;
        }
     }
 }

完整项目

4

0 回答 0