2015-06-03 76 views
-6
class Factorial 
{ 
    public static void main(String args[]) 
    { 

     int num=Integer.parseInt(args[0]); 
     int result=1; 
     while(num>0) 
     { 
      result=result*num; 
      num--; 
     } 
     System.out.println("Factorial of Given Number is :" +result); 
    } 
} 

它表示如下錯誤:在螺紋我發現這個錯誤當我運行該Java代碼

異常「主」 java.lang.ArrayIndexOutOfBoundsException:0 在Factorial.main(階乘的.java:5)

+0

這時候,你不給程序的命令行參數會發生什麼。 – Kayaman

+0

你如何運行這個程序?你是否傳遞了任何參數?如果是,如何? – Aakash

+2

請將您的標題編輯爲有用的內容並描述相關問題。 –

回答

0

你應該用命令行參數運行此代碼:

java Factorial 5 

此外,爲了讓您的程序更加用戶友好,建議您在嘗試訪問args[0]之前檢查args.length > 0

0

如下

class Factorial { 
    public static void main(String args[]) { 
     if(args[0].length > 0) { 
     int num=Integer.parseInt(args[0]); 
     int result=1; 
     while(num>0) 
     { 
      result=result*num; 
      num--; 
     } 
     System.out.println("Factorial of Given Number is :" +result); 
    } else { 
     System.out.println("Your message requesting a number"); 
    } 
    } 
} 

運行帶參數的程序使用的代碼。

Ex: java Factorial 5 

如果您不解析任何參數,將會打印「您的消息請求編號」。

0

確保你在執行類似程序傳遞一個參數:

java fact 10 
相關問題