1 package com.itheima.test;
2
3 import java.util.Random;
4 import java.util.Scanner;
5
6 public class Test3 {
7 public static void main(String[] args) {
8 //键盘输入任意字符串,打乱里面的内容
9 //1.键盘输入任意字符串
10 Scanner sc = new Scanner(System.in);
11 System.out.println("请输入一串字符");
12 String str = sc.next();
13 System.out.println("您输入的字符串是:"+str);
14 //2.打乱里面的内容
15 //修改字符串里的内容:1.substring 这里用这种方法很麻烦
16 //2.变成字符数组
17 char[] arr = str.toCharArray(); //['a','b','c','d','e']
18 //3.打乱数组里面的内容
19 //0索引开始跟一个随机索引进行位置交换(中间变量),当数组里每一个元素跟随机索引都交换完毕后,内容就打乱了
20 Random r = new Random();
21 char temp = ' '; //而不是int temp 因为已经变成了字符数组
22 for (int i = 0; i < arr.length; i++) {
23 int RandomStr = r.nextInt(arr.length);
24 //temp是字符 不要粗心写成arr[temp]
25 temp = arr[i];
26 arr[i] = arr[RandomStr];
27 arr[RandomStr] = temp;
28 }
29
30 //4.字符数组再变回字符串 char -> String
31 String result = new String(arr);
32 System.out.println(result);
33
34 }
35
36
37
38
39 /*public class test1_1 {
40 public static void main(String[] args) {
41 //键盘录入任意字符串,打乱里面的内容 并打印输出到控制台
42
43 //1,键盘输入任意字符串
44 Scanner sc = new Scanner(System.in);
45 System.out.println("请输入一串字符");
46 String str = sc.next();
47 System.out.println("您输入的字符串是:"+str);
48
49 //2. 用一个数字存储起来
50 char[] arr = str.toCharArray();
51
52 //3. 打乱里面的内容 打乱方法如下
53 //从0索引开始跟一个随机索引进行位置交换
54 Random random = new Random();
55 char c1 = ' ';
56 for (int i = 0; i < arr.length; i++) {
57 //每次循环都会产生一个随机数
58 int arrRandom = random.nextInt(arr.length);
59 c1 = arr[i];
60 arr[i] = arr[arrRandom];
61 arr[arrRandom] = c1;
62 }
63 //把char类型的数组转换为字符串string类型
64 String s = new String(arr);
65 System.out.println("打乱后的字符串是:"+s);
66 }
67 }*/
68 }