zoukankan      html  css  js  c++  java
  • 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;注意输入数值时不要让接收数组超过随机数的数量,代码加个if,else即可解决
    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 }
  • 相关阅读:
    Redis过期机制
    vim使用
    ex command in Linux with examples
    【转】Linux 文档编辑 : ex 命令详解
    vscode go语言环境搭建
    golang slice a 的地址和a[0]的地址不一样
    文件加锁,作用是用来做什么?以及使用细节
    文件锁
    go创建指定大小的文件,获取文件大小
    go 实现内存映射和进程间通信
  • 原文地址:https://www.cnblogs.com/kaililikai/p/5870364.html
Copyright © 2011-2022 走看看