2017-05-14 22 views
0

我只開始學習java。我正在練習如何打印和半整數打印整數和他們的一半調用它從主要方法

我已經定義了主要的方法和halfing方法我也定義它在同一個類,但它不會編譯。有什麼建議麼?這是我的代碼

public class IntAndHalf { 

    public static void main(String[] args) { 
     double y; 
     for (int i = 1; i <= 20; i++) { 
      System.out.println(i + " " + y); 
     } 
    } 
    public static double halfOfint(int i){ 
     for (i = 0; i <= 20; i++){ 
      y = i/2; 
      return (y); 
     } 
    } 
} 
+0

那麼y是無處定義的,你正在做一個整數除法,你不是調用你的方法,這是你的問題 – DZDomi

+0

'y'沒有在主要方法中定義/聲明 – tima

+0

ohh我可能應該將它改爲double對半方法?我初始化y = 0? – Kutam

回答

1

提示

你有很多的問題,在你的代碼:

  • y是不是在你的主要方法定義
  • i已聲明在你的方法中,所以你還沒有 在你的循環中再次聲明(int i = 0;)只是用它(i = 0;)
  • 你的思念;y = (i/2)
  • 年底當您在循環結束使;,下一個塊 不會執行for(int i = 1; i <= 20; i++);
  • 你在你的方法結束在 必須return(y)不環

糾正這個錯別字和您的代碼將編譯,你從來沒有打電話給你的方法HalfOfInt另一件事,所以不要迫不及待地想在從這種方法形成,你必須調用你的主要方法。


編輯

你在這種情況下,代碼應該是這樣的:

public static void main(String[] args) { 
    for (int i = 1; i <= 20; i++) { 
     System.out.println(i + "-" + HalfOfInt(i)); 
     //        ^-----------call your method which 
                //take an int and return the (i/2) 
     //     ^-------------------------Print your value 
    } 
} 

public static double HalfOfInt(int i) { 
    return (double) i/2;//<<----------- no need to use a loop just return (i/2) 
} 
+0

我已經更新了代碼。通過在我的主要方法中定義'y',我仍然不確定你的意思。你能否檢查更新的版本。謝謝 – Kutam

+0

你必須聲明它並初始化它@Kutam'double y = 0;' –

+0

你期待從你的metod @Kutam得到什麼? –

0

多個問題

  1. 還有就是你for循環後;
  2. y不是定義在你的主要方法。
  3. 你缺少一個;y = (i/2)
  4. 你永遠不會調用HalfOfInt
  5. 您聲明i兩次。

另外,您應該堅持使用Java命名約定。方法應以小寫字母開頭。

相關問題