美文网首页
获取指定数组内随机9位数

获取指定数组内随机9位数

作者: 筱宓dawnLing | 来源:发表于2018-06-08 09:56 被阅读59次
闲来无事整理下草稿,翻到最底部还遗留了这么两串代码。
细一看才想起来之前帮X学妹写逻辑的时候记录的,索性发出来
万一也有刚学java或者android的小鲜肉或者小萌妹需要可以参考下

获取数组内不重复的数字,组成中间带空格的9位数字符串
随机获取显示结果:2369 0457

方法一

//获取随机数
    private int[] array = new int[]{0, 2, 3, 4, 5, 6, 7, 8, 9};
    private void testArray() {
        TextView textView = findViewById(R.id.textView);
        String str = "";
        for (int i = 0; i < array.length; i++){
            int index = new Random().nextInt(array.length);
            if (str.contains(array[index] + "")){
                i--;
            }else{
                if (i == 4){
                    str = str + " ";
                }else {
                    str = str + array[index];
                }
            }
        }
       Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }

方法二

public static String getRandomString() {
        String ret = "";
        int[] result = new int[8];
        int cnt = 0;
        while (cnt < 8) {
            int num = (int) (Math.random() * (10 - 0));
            boolean flag = true;

            for (int j = 0; j < 8; j++) {
                if (num == result[j]) {
                    flag = false;
                    break;
                }
            }

            if (flag && num != 1) {
                result[cnt] = num;
                ret += result[cnt];
                cnt++;
            }

        }

        return ret;
    }
private void SetRandom(String randomStr) {
        String random = randomStr;
        String modRandom = "";
        for (int i = 0; i < 4; i++) {
            modRandom += random.charAt(i);
        }
        modRandom += " ";
        for (int j = 4; j < 8; j++) {
            modRandom += random.charAt(j);
        }
               Toast.makeText(this, modRandom, Toast.LENGTH_SHORT).show();
    }

使用:SetRandom(getRandomString());

随机生成8位数字,并播放语音

/**
     * 打开raw目录下的mp3文件
     *  MediaPlayer mediaPlayer = MediaPlayer.create(this, mediaArry[0]);
        mediaPlayer.start();
        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
        }
        });
     */
    int[] mediaArry = new int[]{R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify,
            R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify, R.raw.order_new_notify};
    List<MediaPlayer> mediaPlayerList = new ArrayList<MediaPlayer>();
    private void openRawMusicS() {
        mediaPlayerList.get(0).start();
        for (int i = 0; i < mediaPlayerList.size() - 1; i++){
            final int finalI = i;
            mediaPlayerList.get(i).setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    mediaPlayerList.get(finalI + 1).start();
                }
            });
        }
    }

    private int[] array = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    private void testArray() {
        String str = "";
        for (int i = 0; i < 9; i++){
            int index = new Random().nextInt(array.length);
            if (str.contains(array[index] + "")){
                i--;
            }else{
                if (i == 4){
                    str = str + " ";
                }else {
                    str = str + array[index];
                    mediaPlayerList.add(MediaPlayer.create(this, mediaArry[index]));
                }
            }
        }
        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }

相关文章

网友评论

      本文标题:获取指定数组内随机9位数

      本文链接:https://www.haomeiwen.com/subject/njfsjftx.html