特定の数値の階乗を計算するために、次のコードを思いつきました。
import java.lang.*;
import java.math.*;
import java.io.*;
import java.util.*;
@SuppressWarnings("unused")
class factorial_1{
public static void main(String args[]) throws IOException
{
System.out.println("enter a number: ");
String strPhone = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
strPhone = br.readLine();
BigInteger number = new BigInteger (strPhone);
BigInteger fact = new BigInteger("1");
BigInteger i = new BigInteger("1");
BigInteger step = new BigInteger("1");
final long start = System.currentTimeMillis();
final long durationInMilliseconds = System.currentTimeMillis()-start;
for ( ; i.compareTo(number) <= 0; i=i.add(step)){
fact = fact.multiply(i);
}
System.out.println("execute Long-Running Task took " + durationInMilliseconds + "ms.");
System.out.println("the factorial of "+ number +" is "+ fact);
}
}
コードを実行すると、キーボードから数値が読み取られ、その階乗が出力されます。
コードを .jar ファイルとしてエクスポートし、端末から入力として番号 (10) を指定しようとしました
私はこの投稿がコマンドライン引数でjarを実行する方法と言うようにしましたが、番号をもう一度入力するまで何も起こりませんでした
- - - - - -ターミナル - - - - - -
roditis@NiSLab-pc2:~/Desktop$ java -jar import_number.jar 10
数字を入力してください:
10
長時間実行タスクの実行には 0 ミリ秒かかりました。
10 の階乗は 3628800 です
- - - - - -ターミナル - - - - - -
私はLinux /プログラミングが初めてで、あなたの助けを本当に楽しみにしています
前もって感謝します
ロディティス