java冒泡算法和遞歸實現n!

遞歸實現n!java

package biShiTi;

import java.util.Scanner;
//實現遞歸
public class diGui {
	public static int Factorial(int n){
		//判斷用戶輸入是否有效
		if(n<0){
			System.out.println("無效輸入,請從新輸入");
			return 0;
		}else if(n==1||n==0){//0或者1的階乘都是1
			 return 1;
		}else {//若是大於1,則遞歸。
			return n*Factorial(n-1);
		}
	}
	public static void main(String[] args) {
	System.out.println("請輸入一個整數:");
	//鍵盤輸入
	Scanner scanner=new Scanner(System.in);
	int n=scanner.nextInt();
	System.out.println(n+" 的階乘爲:"+Factorial(n));
	}
}

冒泡算法實現算法

package biShiTi;


public class maoPao {

	public static void main(String[] args) {
		// 冒泡排序;相鄰的兩個數相比較,每次循環把最大的數放在後面。
		int arr[]={5,3,4,2,1};
		int i,j,temp=0;
		int len=arr.length;
		//排序前數組打印
		System.out.println("原始數組爲:");
		printArr(arr);
		for(i=0;i<len;i++){
			for(j=0;j<len-i-1;j++){
				//若對相鄰的兩個數,前面的數大,則交換,
				if(arr[j]>arr[j+1]){
					temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		//排序後數組打印
		System.out.println("排序後數組爲:");
		printArr(arr);
	}
	 public static void printArr(int arr[]){
		 for(int i=0;i<arr.length;i++){
			 System.out.print(arr[i]);
		 }
	 }
}
相關文章
相關標籤/搜索