JAVA常用方法(连载)

目录

1.随机生成一个指定范围的随机数

2.对数组进行升序排列,即从小到大的顺序

3.一串数字 i , 获取指定位数上的值

4.随机给出四个不同的数字, 能组合出多少组不同的三位数?


1.随机生成一个指定范围的随机数

方式一:

获取一个两位随机数 10 ~ 99 ;

int value = (int) ( Math.random() *90+10 ) ;

总结公式:

获取随机数的取值范围为 a~b                    
(  int  )  (Math.random() *(b-a+1)+a)

方式二:

获取一个两位随机数 0 ~ 99 ;

new Random().nextInt(10)  ;   里面填10 ,  就随机生成 0 ~ 9

既

int key = new Random().nextInt(100)  ;  随机生成的为0 ~ 99

2.对数组进行升序排列,即从小到大的顺序

Arrays.sort()

 Arrays类的sort()方法 可以对数组进行升序排序

使用场景1:
        单纯的对数组进行排序

        int[]array3={4,2,5,8,10};
        char[]array4={'a','p','e','f','b'};
        String[]array5={"asa","wqd","wdqf","qwer"};
        Arrays.sort(array3);
        Arrays.sort(array4);
        Arrays.sort(array5);
        System.out.println(Arrays.toString(array3));
        System.out.println(Arrays.toString(array4));
        System.out.println(Arrays.toString(array5));






使用场景2: 
        有3个班级 ,  分别对1班,2班,3班的学员成绩进行升序排序并输出 
        
        int[][]a =new int [][]{{80,60},{70,54,98},{77,59}};  //分别代表三个班级学员成绩
        for(int i = 0; i<a.length;i++){
            Arrays.sort(a[i]);   //进行升序排序
            System.out.println((i+1)+"班成绩排序后:");
            for(int j = 0;j<a[i].length;j++){
                System.out.println(a[i][j]);
            }
        }

场景1

场景2
 

3.一串数字 i , 获取指定位数上的值

//有一串数字 i 
int i = 123456789;

int  ge = i %10;    //获取个位的值   结果为 9
int  shi = i/10%10; //获取十位的值   结果为 8
int  bai  = i /100%10;//获取百位的值   结果为 7
int  qian = i / 1000%10 ;//获取千位的值   结果为 6
//以此类推 ...

4.随机给出四个不同的数字, 能组合出多少组不同的三位数?

        //随机给出四个数字
         String a = "1";
         String b = "6";
         String c = "7";
         String d = "9";
        //放入集合中,方便循环, 也可放入数组中, 此处不必纠结
        ArrayList <String>list = new ArrayList<>();
        list.add(a);
        list.add(b);
        list.add(c);
        list.add(d);
        int count = 0;  // 计算共组合出多少组
        ArrayList lis = new ArrayList<>();

        for (int i = 0; i < list.size(); i++) {  //代表百位
            String bai = list.get(i);
            for (int j = 0; j < list.size(); j++) { //代表十位
                String shi = list.get(j);
                for (int k = 0; k < list.size(); k++) { //代表个位
                    String ge = list.get(k);
                    // 关键点 : 要求 百位,十位,个位  互不相同  又因为各个位都是循环遍历的四个不同的数, 所以不会出现重复的情况 
                    // 此时只需考虑让三个数不同即可  符合条件就进入if 
                    if (!bai.equals(shi) && !bai.equals(ge) && !shi.equals(ge)){ 
                        StringBuilder stringBuilder = new StringBuilder(ge);
                        stringBuilder.append(shi);
                        stringBuilder.append(bai);
                        lis.add(stringBuilder);
                        count++;
                    }
                }
            }
        }
        System.out.println("总共组成"+count+"个数");
        System.out.println(lis.toString()+"----"+lis.size());

结果:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值