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]);
		 }
	 }
}
相关文章
相关标签/搜索