2013-02-28 57 views
-3

我很難弄清楚在我的代碼中出錯的地方,我在第一行不斷收到「找不到符號」的錯誤,而且我無法看到發現故障。這是我的代碼的一部分。幫幫我?!在if-else塊中找不到符號錯誤

if (Array.getlength(args) == 0) 
{ 
    for (int i = 0; i < args.length; i++) 
    { 
     while (Text.thereAreMoreLinesIn(fileName)) 
     { 
      String line = Text.readNextLineFrom((fileName)); 
      Text.splitAtSpaces(line); 
      ICAO = Text.toDouble(args[i+0]); 
      t = Text.toDouble(args[i+1]); 
      v = Text.toDouble(args[i+2]); 
      windChill = Weather.windChillNA(t,v); 
      Map.setTemperature(args[i+0],windChill); 
     } 
    } 
} 
else {System.out.print("Help"); 
} 
+2

請格式化您的代碼,以便於查看和錯誤檢查。 – Timr 2013-02-28 17:39:40

+0

請改善問題的清晰度和完整性。目前的形式是無法迴避的。 – NPE 2013-02-28 17:41:29

+0

大概你想使用'if(args.length == 0)',而不是你現在擁有的東西。 – Perception 2013-02-28 17:41:49

回答

4

應該Array.getLength,不Array.getlength Java是大小寫敏感的,你應該使用一個IDE像Eclipse,以獲取有關這些類型的問題的警告。

除此之外,你的循環將無法運行,您的if語句必須是這樣的

if (Array.getLength(args) > 0) 
+0

我不認爲Id能夠使用你的建議。我的if語句應該在沒有命令行參數時使用。 – 2013-02-28 17:49:25

+1

當沒有命令行參數時,你將不能運行這一行:'t = Text.toDouble(args [i + 1]);' – Laerte 2013-02-28 17:52:08

+0

我明白,但是一旦我的程序檢測到沒有命令當你沒有參數時,它應該將它們從「fileName」 – 2013-02-28 17:54:45

0

我猜你的意思是if(args.length>0)if(args.length!=0),因爲我找不到任何使用Array的。正如已經指出的那樣,使用您當前的語句,即使沒有錯誤,您的循環也不會運行。