zoukankan      html  css  js  c++  java
  • Java入门——day5

    一、今日学习

    1.Java工具类中算法的实现

    在Java的java.util包下有一个类:Arrays,该类提供诸多方法,如打印数组、排序和二分查找等。该工具类的使用操作:

    (1)导入java.util下的包中的类——import java.util.Arrays

    (2)调用相应的API——Arrays.方法名()

    1.1 使用工具类打印数组——toString方法

    1 import java.util.Arrays;
    2 public class study{
    3 public static void main(String[] args) {
    4     int[] a= {2,3,4,5,9,7,8};
    5     System.out.println(Arrays.toString(a));
    6     }
    7 }

    1.2 使用工具类排序——sort方法     //Arrays.sort(数组) 默认为从小到大排序

    1 import java.util.Arrays;
    2 public class study{
    3 public static void main(String[] args) {
    4     int[] a= {2,3,4,5,9,7,8};
    5     Arrays.sort(a);
    6     System.out.println(Arrays.toString(a));
    7     }
    8 }

    1.3 使用工具类进行二分查找——binarySearch(int[] args,int key)方法   //在此之前需要通过sort(int [])方法进行排序;若数组包含多个带指定值的元素,则无法保证找到哪个

     1 import java.util.Arrays;
     2 public class study{
     3 public static void main(String[] args) {
     4     int[] a= {2,3,4,5,9,7,8};
     5     //排序
     6     Arrays.sort(a);
     7     //二分查找,返回下标值
     8     int index=Arrays.binarySearch(a, 3);
     9     System.out.println("下标在:"+index+"位置");
    10     }
    11 }

    1.4 Random工具类可以生成随机数

    Random工具类的nextInt(int num)方法可以生成随机数0~num,但不包含num

    1 import java.util.Random;
    2 public class study{
    3 public static void main(String[] args) {
    4     //随机生成0~10000,单数不包含10000的整数
    5     Random ran=new Random();
    6     int a=ran.nextInt(10000);
    7     System.out.println("a="+a);
    8     }
    9 }

    2.综合实例

    模拟随机组合双色球,红色球号码有6个,从1~33号数字中随机抽取,不可重复;蓝色球号码有1个,从1~16号数字中随机抽取,组合得到双色球号码

     1 import java.util.Arrays;
     2 import java.util.Random;
     3 public class study{
     4 public static void main(String[] args) {
     5     //存放1~33号数组
     6     String[] pool= {"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","22","23","24","25","26","27","28","29","30","31","32","33"};
     7     //存放1~33数字是否使用过
     8     boolean[] used=new boolean[pool.length];
     9     ///存放双色球
    10     String[] balls=new String[6];
    11     Random random=new Random();
    12     int i;
    13     int index=0;
    14     while(true) {
    15         //随机生成数组下标
    16         i=random.nextInt(pool.length);
    17         if(used[i]) {
    18             continue; //返回,重新开始循环
    19         }
    20         balls[index++]=pool[i];
    21         used[i]=true; //标志使用过了
    22         if(index==balls.length) { //检查是否满了
    23             break; //结束循环
    24         }
    25         }
    26     Arrays.sort(balls);
    27     //对数组进行扩容
    28     String[] newBalls=new String[7];
    29     for(int m=0;m<balls.length;m++) {
    30         newBalls[m]=balls[m];
    31     }
    32     newBalls[newBalls.length-1]=pool[random.nextInt(16)];
    33     //打印随机生成的双色球
    34     System.out.println("双色球:"+Arrays.toString(newBalls));
    35     }
    36 }

    3.练习

    3.1 使用冒泡排序、插入排序、选择排序对[1,5,6,9,8,2,3]进行从小到大排序

    • 冒泡排序

    • 插入排序

    • 选择排序

    3.2 使用工具类随机生成5位数字,并用工具类对这5位数进行排序

     3.3 自定义一个方法,当用户输入两个随机数,判断最大值

    二、遇到问题

    在Java中怎样实现从用户端输入,查阅后发现Java中Scanner工具类来获取用户输入的信息

    (1)导入java.util.Scanner

    import java.util.Scanner;

    (2)创建Scanner对象

    Scanner input=new Scanner(System.in);

    (3)接受并保存用户输入的值

    1 char a=input.nextLine();  //获取字符串
    2 double a=input.nextDouble(); //获取double型数据
    3 int a=input.nextInt();  //获取int型数据

    三、明日学习

    复习并且用java语句完成c++例题

  • 相关阅读:
    android5.0 BLE 蓝牙4.0+浅析demo搜索(一)
    android4.3 Bluetooth(le)分析之startLeScan分析
    android4.3 Bluetooth分析之扫描分析
    JAVA 如何将String进行大小写转换
    用Java将字符串的首字母转换大小写
    关于Android中设置闹钟的相对比较完善的解决方案
    Android闹钟 AlarmManager的使用
    关于Android中设置闹钟的相对完善的解决方案
    android闹钟实现原理
    Android利用AlarmManager执行定时任务
  • 原文地址:https://www.cnblogs.com/znjy/p/13282052.html
Copyright © 2011-2022 走看看