簡體   English   中英

Java代碼中顯示“數組只寫入,從不讀取”錯誤

[英]“The array is only written to, never read from” error showing in Java code

我一直在嘗試改進一些 Java 並且我正在嘗試更新基礎知識,所以我一直在閱讀 Sam 的 24 小時 Java 書籍。 熟悉描述對象的項目之一給出代碼如下:

package com.java24hours;

public class GremlinLab {
    public static void main(String[] arguments) {
        int numGremlins = Integer.parseInt(arguments[0]);
        if (numGremlins > 0) {
            Gremlin[] gremlins = new Gremlin[numGremlins];
            for (int i = 0; i < numGremlins; i++) {
                gremlins[i] = new Gremlin();
            }
            System.out.println("There are " + Gremlin.getGremlinCount()
                + " gremlins.");
        }
    }
}

在第 7 行編譯時顯示錯誤“數組僅寫入,從未讀取”:

Gremlin[] gremlins = new Gremlin[numGremlins];

我一生都無法弄清楚為什么這不起作用! 抱歉,如果我很愚蠢,但任何幫助將不勝感激:) 謝謝!

抱歉,快速編輯以添加我沒有提到的其他課程!!

我還有以下課程:

package com.java24hours;

public class Gremlin {
    static int gremlinCount = 0;

    public Gremlin() {
        gremlinCount++;
    }

    static int getGremlinCount() {
        return gremlinCount;
    }
}

然后我通過自定義項目配置來指定命令行參數。

最后編輯!!... 非常感謝大家,我真的很感激。 我正在使用 IDE 並將類移動到源包文件夾而不是 'com.java24hours' 包......而且我的原始代碼運行良好?! 顯然我是一個新手! 再次感謝大家:)

這是警告,而不是錯誤。 您可以放心地忽略它,您的程序將按您的意願運行。

警告是因為您正在創建一個數組並用元素填充它。 但是你從來沒有真正使用過這個數組,也沒有將該數組的元素用於任何事情。 例如,你可以做

System.out.println("There are " + gremlins.length + " gremlins.");

打印數組的長度。 這將刪除警告。

更好的是,如果您將此作為練習來學習static方法和變量,則根本不要使用數組。

你沒有對gremlins數組的元素做任何事情。 即你的代碼沒有任何地方做類似gremlins[i].someMethod()事情,但這只是一個警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM