2016-10-05 8 views
-1

我有以下代碼輸出2個數字的二項式係數。我想包括在與總體結果一起打印出來一份聲明中兩個數字,但我收到以下錯誤:二項式係數;不能解析爲變量

_不能被解析爲一個變量

這裏是我的代碼:

public class BinomialCoefficients 
{ 
    private static long binomial(int n, int k) 
    { 
     if (k>n-k) 
      k=n-k; 

     long b=1; 
     for (int i=1, m=n; i<=k; i++, m--) 
      b=b*m/i; 
     return b; 
    } 

    public static void main(String[] args) 
    { 
     System.out.println("The Binomial Coefficients of" + n + "and " + k + " is: " + binomial(15, 4)); 
    } 
} 

有幫助嗎?

+2

你怎麼能指望編譯器來解決你的主要方法n和k變量 – mhasan

回答

0

您沒有在您的main方法中定義變量nk

聲明變量

int n = 15; 
int k = 4; 

那麼也可以使用這些在你調用binomial方法,而不是硬編碼154

System.out.println("The Binomial Coefficients of" + n + "and " + k + " is: " + binomial(n, k)); 
+0

非常感謝,我的第一篇文章很快得到解決 –

0

我想您得到這個編譯錯誤您的main方法。在使用main之前,您必須聲明變量kn

您可以按以下步驟更新您的代碼:

public class BinomialCoefficients 
{ 
    private static long binomial(int n, int k) 
    { 
     if (k>n-k) 
      k=n-k; 

     long b=1; 
     for (int i=1, m=n; i<=k; i++, m--) 
      b=b*m/i; 
     return b; 
    } 

    public static void main(String[] args) 
    { 
     int n = 15; 
     int k = 4; 
     System.out.println("The Binomial Coefficients of" + n + "and " + k + " is: " + binomial(n, k)); 
    } 
}