字符串转化成数组,将原有的字符串进行打乱。

package com.yan.day10string;

import java.util.Random;
import java.util.Scanner;
public class StringDome1 {
    public static void main(String[] args) {
        //  键盘输入任意字符串,打乱里面的内容
        // 1.键盘获取一个随机的字符串
        System.out.println("请输入一个字符串:");
        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        System.out.println("转化后的字符串为:");
//        System.out.println(str);
        int[] arrIndex = arr(str);
        for (int i = 0; i < str.length(); i++) {
            System.out.print(str.charAt(arrIndex[i]));
        }
    }
    //
    //随机生成不同的索引:
    public static int[] arr(String str) {
        int[] arr = new int[str.length()];
        Random ran = new Random();
        int number = 0;
        for (int i = 0; i < arr.length - 1; ) {
            number = ran.nextInt(str.length());
//            System.out.println(number);
            if (!contains(arr, number)) {
                arr[i] = number;
                i++;
            }
        }
        return arr;
    }
    //防重复:
    public static boolean contains(int[] arr, int number) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == number) {
                return true;
            }
        }
        return false;
    }
}

























你可能感兴趣的:(java,算法,数据结构)