当前位置: 首页 > news >正文

Java 调整字符串,验证码生成

package text7;public class ZiFanz {public static void main(String[] args) {//1.定义两个字符串String strA = "abcde";String strB = "deabc";//2.abcde->bcdea->cdeab->deabc旋转字符串//旋转并比较boolean result = cheak(strA, strB);System.out.println(result);}public static  boolean cheak(String strA , String strB){for (int i = 0; i < strA.length(); i++) {strA = rotate(strA);if (strA.equals(strB)){return true;}}return false;}//1.作用:旋转字符串,把左侧的字符移到右侧上//2.形参:旋转前的字符串//3.返回值:旋转后的字符串public  static  String rotate(String str){//套路//如果我们看到要修改字符串的内容//可以有两个办法//1.用subString进行截取,把左边的字符截取出来拼接到右侧去//2.可以把字符串先变成一个字符数组,然后调整字符数组里面的数据,然后再把字符数组变成字符串//截取思路//获取最左侧那个字符char first = str.charAt(0);//获取剩余字符String end = str.substring(1);return end+first;//第二种写法char[] arr = str.toCharArray();char first = arr[0];for (int i = 1; i < arr.length; i++) {arr[i-1] = arr[i];}arr[arr.length - 1] = first;String result  = new String(arr);return result;}
}

自主小练习

键盘输入字符串,然后进行随机打乱

package text7;import java.util.Random;
import java.util.Scanner;public class SuiJi {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String str = sc.next();//2.打乱里面的内容String daluan = Daluan(str);System.out.println(daluan);}public static String Daluan(String str){char[] arr = str.toCharArray();Random rd = new Random();for (int i = 0; i < arr.length; i++) {int cishu = rd.nextInt(arr.length);int cishu2 = rd.nextInt(arr.length);if(cishu == cishu2){cishu2 = rd.nextInt(arr.length);}char Tihuan = arr[cishu];arr[cishu] = arr[cishu2];arr[cishu2] = Tihuan;}return new String(arr);}
}

在大写的A~Z和小写的a~z中随机抽取四个字母,然后在中间随机插入一个数字

package text7;import java.util.Random;public class Yanzheng {public static void main(String[] args) {char[] allChars = generateAllChars();char[] result = suiji(allChars);Random str = new Random();int i = str.nextInt(10);//生成十个随机数字int w = str.nextInt(5);//四个字母五个断点,随机插入一个数字String resulti = new String(result);String str1 = resulti.substring(0,w) + i + resulti.substring(w);System.out.println(str1);}// 随机获取四个字母public static char[] suiji(char[] arr) {Random random = new Random();char[] result = new char[4];for (int i = 0; i < 4; i++) {int randomIndex = random.nextInt(arr.length);result[i] = arr[randomIndex];}return result;}public static char[] generateAllChars() {char[] allChars = new char[52];int index = 0;for (char c = 'a'; c <= 'z'; c++) {allChars[index++] = c;}for (char c = 'A'; c <= 'Z'; c++) {allChars[index++] = c;}return allChars;}
}

http://www.lryc.cn/news/429364.html

相关文章:

  • 【专题】全球商用服务机器人市场研究(2023)报告合集PDF分享(附原数据表)
  • SQL UA注入 (injection 第十八关)
  • 初阶数据结构之计数排序
  • 【开端】记一次诡异的接口排查过程
  • jenkins最佳实践(二):Pipeline流水线部署springCloud微服务项目
  • 第2章 C语言基础知识
  • 鹭鹰优化算法SBOA优化RBF神经网络的扩散速度实现多数入多输出数据预测,可以更改数据集(MATLAB代码)
  • MySQL基础练习题48-连续出现的数字
  • webrtc学习笔记2
  • Simple RPC - 06 从零开始设计一个服务端(上)_注册中心的实现
  • 【深度学习】基于Transformers的大模型推理框架
  • 电脑监控怎样看回放视频?一键解锁电脑监控回放,守护安全不留死角!高效员工电脑监控,回放视频随时查!
  • 【一起学Rust | 框架篇 | Tauri2.0框架】tauri中rust和前端的相互调用(rust调用前端)
  • deque容器
  • Redis远程字典服务器(9)—— 类型补充
  • VMware虚拟机nat无法联通主机
  • 「字符串」详解AC自动机并实现对应的功能 / 手撕数据结构(C++)
  • freecad遭遇网络不同无法安装插件Addon Manager: Unexpected 0 response from server
  • Ruby模板引擎:构建动态视图的艺术
  • HarmonyOS NEXT星河版零基础入门(3)
  • 第二十讲 python中的异常结构-try except-else-finally
  • springer 投稿系统中返修注意点
  • CSS:display和visiblity
  • 43.x86游戏实战-XXX寻找吸怪坐标
  • Redis地理位置相关应用
  • 优化WAN流量:如何通过调整系统设置降低企业网络成本
  • Java-HttpHeaders请求头或响应头
  • Elasticsearch高阶查询
  • 【流媒体】RTMPDump—RTMP_Connect函数(握手、网络连接)
  • 通过https方式访问内网IP