当前位置: 首页 > 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;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Qt第十七章 多线程
  • ElfBoard技术贴|如何在ELF 1开发板上搭建流媒体服务器
  • 高性能web服务器nginx
  • Mac文件需要分卷压缩怎么办 Mac上怎么解压分卷压缩的文件
  • 二、什么是Vue中的响应式?Vue的响应式原理
  • Linux驱动学习之点灯(四,linux2.6)
  • 电子电气架构 --- 软件定义汽车需要怎么样的EE架构
  • Excel“取消工作表保护”忘记密码并恢复原始密码
  • 【数学建模】优化模型——两辆平板车装货问题
  • linux应用编程--网络编程(socket编程基础)
  • 企业为什么需要安装加密软件
  • PostgreSQL的postgres主进程
  • 海外媒体投稿:怎样在法国媒体发稿宣传中获得成功
  • linux debian12 离线安装jdk1.8 (解决root和普通用户不能同时拥有java)
  • 【从Qwen2,Apple Intelligence Foundation,Gemma 2,Llama 3.1看大模型的性能提升之路】
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 5、React组件事件详解
  • CentOS7 安装JDK
  • Django 博客开发教程 8 - 博客文章详情页
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • IndexedDB
  • java2019面试题北京
  • Map集合、散列表、红黑树介绍
  • Mysql5.6主从复制
  • orm2 中文文档 3.1 模型属性
  • PHP变量
  • React-flux杂记
  • Vim 折腾记
  • vue学习系列(二)vue-cli
  • Xmanager 远程桌面 CentOS 7
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 记录一下第一次使用npm
  • 前端
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信小程序实战练习(仿五洲到家微信版)
  • 与 ConTeXt MkIV 官方文档的接驳
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ###项目技术发展史
  • #{} 和 ${}区别
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ${ }的特别功能
  • (1)SpringCloud 整合Python
  • (Python) SOAP Web Service (HTTP POST)
  • (备份) esp32 GPIO
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十三)Flink SQL
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .a文件和.so文件
  • .cfg\.dat\.mak(持续补充)
  • .net 4.0发布后不能正常显示图片问题
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 材料检测系统崩溃分析