递归实现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]); } } }