首页 > 代码库 > 0913作业
0913作业
1 import java.util.Random; 2 3 public class Text1 4 { 5 public static void main(String[] args) 6 { 7 int[] num=new int[8]; //方法调用区-----定义8个随机数存放的数组 8 num=getNumbers(num,1,32); //调用方法获取随机数并保存 9 show(num); //测试打印方法一10 show2(num); //测试打印方法二11 mySort(num); //冒泡排序12 show(num); //打印结果13 search2(num,22); //二分查找法查找数值22,可使用Scanner输入数值14 }15 //方法实现区-----获得不重复的随机数,范围是m-n;16 public static int[] getNumbers(int[] num,int m,int n)17 {18 Random random=new Random();19 int r;20 for(int i=0;i<num.length;i++)21 {22 r=random.nextInt(n)+m;23 num[i]=r;24 for(int j=0;j<i;j++)25 {26 if(num[j]==num[i])27 {28 i--;29 break;30 }31 }32 } 33 return num;34 }35 //遍历数组并打印出来,方法一36 public static void show(int[] num)37 {38 for(int i=0;i<num.length;i++)39 {40 System.out.print(num[i]+" ");41 }42 System.out.println();43 }44 //遍历数组并打印出来,方法二45 public static void show2(int[] num)46 {47 for(int loop:num)48 {49 System.out.print(loop+" ");50 }51 System.out.println();52 }53 //冒泡排序54 public static void mySort(int[] num)55 { 56 int change;57 for(int i=0;i<num.length-1;i++)58 {59 for(int j=num.length-1;j>i;j--)60 {61 if(num[j-1]>num[j])62 {63 change=num[j];64 num[j]=num[j-1];65 num[j-1]=change;66 }67 }68 }69 }70 //二分查找法,百度搜索资料71 public static void search2(int[] num,int n)72 {73 int start=0;74 int end=num.length-1;75 int state=1;76 while(start<=end)77 { 78 int middle=(start+end)/2;79 if(n>num[middle])80 {81 start=middle+1; 82 }else if(n<num[middle])83 {84 end=middle-1;85 }else if(n==num[middle])86 {87 state=0; 88 System.out.println("该数值位于数组num["+middle+"]中");89 break;90 }91 }92 if(state==1)93 {94 System.out.println("该数值查询不到!");95 }96 }97 }
0913作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。