![](/img/trans.png)
[英]Suppress the “unused” warning for a method, but not the variables within it
[英]Printing maps of using standard input method in java: Avoiding the warning on unused local variables
我正在編寫一個程序 WorldMap.java 從標准輸入讀取一個國家(或其他地理實體)的邊界信息並將結果繪制到標准繪圖。 一個國家由一組地區(例如,州、省或其他行政區划)組成,每個地區都由一個多邊形來描述。
對於輸入格式 - 第一行包含兩個整數:寬度和高度。 輸入的其余部分被划分為區域-
每個區域中的第一個條目是該區域的名稱。 為簡單起見,名稱將不包含空格。 下一個條目是 integer,指定描述該區域的多邊形中的頂點數。 最后,該區域包含多邊形頂點的 x 和 y 坐標。 用於標准輸入的文本文件的快照。
我的代碼運行良好,但在提交作業時收到 pmd 警告-
WorldMap.java:16: Avoid unused local variables, such as 'name'. [UnusedLocalVariable]
如何修改我的代碼以避免 pmd 警告? 這是代碼-
int width = StdIn.readInt();
int height = StdIn.readInt();
StdDraw.enableDoubleBuffering();
StdDraw.setCanvasSize(width, height);
StdDraw.setXscale(0.0, width);
StdDraw.setYscale(0.0, height);
while (!StdIn.isEmpty()) {
String name = StdIn.readString();
int vertices = StdIn.readInt();
double[] x = new double[vertices];
double[] y = new double[vertices];
for (int i = 0; i < vertices; i++) {
x[i] = StdIn.readDouble();
y[i] = StdIn.readDouble();
}
StdDraw.polygon(x, y);
}
StdDraw.show();
PMD 是一款開源 static 源代碼分析器,用於報告在應用程序代碼中發現的問題。 隨意谷歌了解更多詳情。
您在下面的行中讀取名稱變量中的字符串值,但您沒有在代碼中的任何地方使用此字符串值。 String name = StdIn.readString();
. 如果您沒有使用 name 變量來表示您不需要讀取其中的值,或者換句話說,您不需要聲明它。 這就是 PMD 給你警告的原因——要么你錯過了使用變量,要么你可以刪除變量,程序的 output 不會有任何區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.