1.冒泡排序:
package com.zs.PaiXu; public class MaoPao { public static void main(String[] args) { int[] arr={5,4,3,6,8,7,2,9,1}; PaiXu(arr); PrintArray(arr); } public static void PrintArray(int[] arr) { // 遍历输出数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+"\t"); } System.out.println(); } private static void PaiXu(int[] arr) { /* 冒泡排序法,数组相邻元素之间比较,如果当前元素比下一个元素大,那么两个元素换位置,这样内部循环第一次循环完时, 排出来数组最大值在数组的最后一个位置,然后下一次循环比较出剩余元素中最大的数,排在倒数第二个元素下标上,依次右到左排, 具体排列方法见下图*/ for (int i = 0; i < arr.length-1; i++) {//for循环来多次比较,每次比较排出一个最大值 for (int j = 0; j < arr.length-i-1; j++) {//内部循环比较出最大值 if (arr[j]>arr[j+1]) { int temp= arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } PrintArray(arr);//外部循环一次,就输出一次当前排序结果 } } }
运行结果如下:
2.选择排序法:
package com.zs.PaiXu; public class XuanZe { public static void main(String[] args) { int[] arr={4,2,6,8,7,5,9,1,3}; PaiXu(arr); MaoPao.PrintArray(arr);//调用冒泡排序类的输出数组方法, } private static void PaiXu(int[] arr) { /* 创建选择排序方法,选择排序是选一个元素,假设为最大,用这个元素与所有元素比较,如果有比这个元素大的,就与这个元素换位置*/ for (int i = 0; i < arr.length-1; i++) {//外循环,每次循环结束比较出一个最大值,进行下一次比较 for (int j = i+1; j < arr.length; j++) {//内循环,选出一个最大值 if(arr[i]<arr[j]){ int max=arr[j]; arr[j]=arr[i]; arr[i]=max; } } MaoPao.PrintArray(arr);//调用冒泡排序输出方法,查看每一次外循环结束时,当前数组的排序; } } }
运行结果:
3.数组元素逆序
package com.zs.PaiXu; public class NiXu { public static void main(String[] args) { int[] arr={1,2,3,4,4,5,6,7,8,9}; NiXuArray(arr); } private static void NiXuArray(int[] arr) { /* 定义两个变量,min表示第一个数字,max表示最后一个数字,然后min++,同时max--,当min>max时,循环结束*/ for (int min = 0,max=arr.length-1; min < max; min++,max--) { int temp=arr[min];//定义一个变量,将第一个数字赋给变量, arr[min]=arr[max];//将最后一个数字赋给第一个元素, arr[max]=temp; //将第一个数字的值赋到最后一个数字的位置。通过第一个与最后一个元素互换位置,实现逆序 MaoPao.PrintArray(arr);//调用输出数组方法 } } }
运行结果如下:
4.水仙花数:
package com.zs.PaiXu; public class ShuiXianHua { /*水仙花数是一个三位数,这个数的值等于个位的立方+十位的立方+百位的立方*/ public static void main(String[] args) { for (int i = 100; i <=999; i++) { int x=i/100%10; int y=i/10%10; int z=i%10; if(i==x*x*x+y*y*y+z*z*z){ System.out.println(i); } } } }
5.倒着打印99乘法表
package com.zs.windows; public class ChengFaBiao { public static void main(String[] args) { for (int i = 9; i >=1; i--) { for (int j = i; j>=1; j--) { System.out.print(i+"*"+j+"="+i*j+"\t"); } System.out.println(); for(int j=0;j<=(9-i);j++){ System.out.print(" \t"); } } } }
运行结果: