遞歸實現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]); } } }