1、首先在電腦打開eclipse軟件,創(chuàng)建Scanner對象。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、五華網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、五華網(wǎng)絡(luò)營銷、五華企業(yè)策劃、五華品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供五華建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.rwnh.cn
2、然后輸出信息,請求用戶輸入要輸入計(jì)算的階乘數(shù)。代碼:System.out.println("請輸入要計(jì)算的階乘數(shù):");
3、然后創(chuàng)建num接受鍵盤輸入的信息。再創(chuàng)建n,sum。
4、然后創(chuàng)建for語句,進(jìn)行計(jì)算階乘。
5、然后在最后,輸出所算的階乘結(jié)果。代碼:System.out.println(n+"的階乘為"+sum);
6、然后再點(diǎn)擊程序運(yùn)行按鈕。在下面的窗口就可以看到運(yùn)行結(jié)果。
使用BigInteger大容量運(yùn)算類計(jì)算100的階乘
一.一般算法(循環(huán))
view plaincopy to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
輸出結(jié)果為0,因?yàn)閕nt無法保存下100的階乘的結(jié)果,100的階乘的長度至少大于50位,也要大于long,double
二.使用BigInteger大容量運(yùn)算類
view plaincopy to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
System.out.println(String.valueOf(result).length());//輸出長度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
System.out.println(String.valueOf(result).length());//輸出長度
}
}
計(jì)算結(jié)果為:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
產(chǎn)度:158
//控制臺數(shù)據(jù)自己獲取.
int[] kim = new int[]{6,5,4,3,2,1}//這是應(yīng)該從控制臺獲取
//遞歸方式獲取階乘
private int getJc(int k){
if(k=1){
return 1;
}else{
return k*getJc(k-1);
}
}
int result=0;
String buffer = "";
for(int i=0;ikim .length;i++){
if(i!=0){
buffer = buffer+" +"+kim[i]+"!";
}else{
buffer=buffer+kim[i] +"!";
}
result =result +kim[i];
}
buffer = buffer+"="+result;
System.out.println(buffer)
import?java.util.*;?
public?class?T?{
public?static?void?main(String[]?args){
try{?
Scanner?input?=?new?Scanner(System.in);?
String?num?=?input.nextLine();
if(!num.match("[^0]\\d+$"))?{
throw?new?RuntimeException("輸入的不是自然數(shù)");
}?
if(Long.parseLong(num)?20)?{
throw?new?RuntimeException("數(shù)字過大,無法計(jì)算");???
}
long?result?=?factorial(Long.parseLong(num));?
System.out.println(result);?
}catch(Exception?e){
throw?new?RuntimeException(e);
}finally{
System.out.println("Finish?computing?factorial?number");?
}
}?
/**計(jì)算階乘**/
public?static?long??factorial(long?n)?{
if(n==1)?return?1?;??
return?n?*?factorial(n-1);?
}??
}
文章題目:java階乘捕獲代碼 java階乘數(shù)代碼
本文鏈接:http://www.rwnh.cn/article28/dosipcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、微信小程序、、小程序開發(fā)、網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)