键盘输入任意字符串,打乱里面的内容

 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 }

 

posted on 2023-03-19 16:07  小王努力不秃头  阅读(126)  评论(0)    收藏  举报

导航