将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码

本文主要是介绍将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将七进制字符串转换为int整数 

public static void main(String[] args) {//                   被转换的数字  基数int num=Integer.parseInt("123",7);System.out.println(num);//        System.out.println((int)'0');
//        System.out.println((int)'1');
//        System.out.println((int)'2');
//        System.out.println((int)'3');
//        System.out.println('3'-'0');num=parseInt("-123",7);System.out.println(num);}public static int parseInt(String number,int radix){int end=0;int s=1;if (number.charAt(0)=='-'){s=-1;end=1;}int weight=1;int sum=0;for (int i=number.length()-1;i>=end;i--){char c=number.charAt(i);int n=c-'0';if (n<0||n>=radix){throw new NumberFormatException("数字错误"+c);}sum += n * weight;weight *= radix;}return s==-1? -sum:sum;//这里也能用乘法,不过乘法的性能慢}

将整数转换为其他进制 

public class Demo02 {public static void main(String[] args) {String str=Integer.toString(66,7);System.out.println(str);str=toString(-166,16);System.out.println(str);}static final char[] digi={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};public static String toString(int num,int radix){boolean negative=false;if (num<0){negative=true;num=-num;}char[] chars=new char[32];int index=chars.length-1;do {int last=num % radix;char c=digi[last];chars[index--]=c;num /=radix;}while (num!=0);if (negative){chars[index--]='-';}return new String(chars,index+1,chars.length-index-1);}
}

将字符串安A-Z计算出数量 

package cn.tedu.test;public class Demo03 {public static void main(String[] args) {System.out.println((int)'a');System.out.println((int)'z');System.out.println((int)'A');System.out.println((int)'Z');int[] counter=new int[26];String str="你好QWERTYUIOPAAABBBSDFGHJKLZXCVBNMZZZZZZ";for (int i=0;i<str.length();i++){char c=str.charAt(i);if (c>='A' && c<='Z'){counter[c-'A']++;}}for(char c='A';c<='Z';c++){System.out.println(c+":"+counter[c-'A']);}}}

将字符串安A-Z计算出数量 并且按照从大到小的数量排列 

package cn.tedu.test;import java.util.Arrays;public class Demo04 {public static void main(String[] args) {/*    int[][] counter={{'A',0},{'B',0},{'C',0},{'D',0},{'E',0},{'F',0},{'G',0},{'H',0},{'I',0},{'G',0},{'K',0},{'L',0},{'M',0},{'N',0},{'O',0},{'P',0},{'Q',0},{'I',0},{'S',0},{'T',0},{'U',0},{'V',0},{'W',0},{'X',0},{'Y',0},{'Z',0}};*/int [][] counter=new int [26][2];for (char c='A';c<='Z';c++){counter[c-'A'][0]=c;}String str="你好QWERTYUIOPAAABBBSDFFHGJKJHGDKMVGHJKLZXCVBNMZZZZZZ";for (int i=0;i<str.length();i++){char c=str.charAt(i);if (c>='A' && c<='Z'){counter[c-'A'][1]++;}}Arrays.sort(counter,(arr1,arr2)->arr2[1]-arr1[1]);for(int[] arr:counter){System.out.println((char)arr[0]+":"+arr[1]);}}}

 随机生成六位数,并对算法加密,小写变大写,大写变小写,数字复制n+1次.

package cn.tedu.test;public class test {//随机生成六位数,并对算法加密,小写变大写,大写变小写,数字复制n+1次.public static void main(String[] args) {String m1="QWERTYUIOPASDFGHJKLZXCCVVBNMqwertyuioplmkjnhbgvfcdxsza0123456789";String m2="";StringBuilder buf=new StringBuilder();for (int a=0;a<6;a++){int num = (int) ((Math.random() * 62));String a1 = String.valueOf(m1.charAt(num));System.out.println("输入的字符:"+a1);if (a1.matches("[a-z]")){buf.append(a1.toUpperCase());}else if(a1.matches("[A-Z]")){buf.append(a1.toLowerCase());}else if (a1.matches("[0-9]")){int a2=Integer.parseInt(a1);for (int i = 0; i <a2+1 ; i++) {buf.append(a1);}}String a3=buf.toString();System.out.println("密码为:"+a3);}}
}
public class Demo07 {public static void main(String[] args) {//生产6个字符String chs = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"0123456789-_";char[] code = new char[6];Random r = new Random();for(int i=0; i<code.length; i++){code[i] = chs.charAt(r.nextInt(chs.length()));}System.out.println(code);//进行编码StringBuilder buf = new StringBuilder();for (char c:code) {if(c>='A' && c<='Z'){buf.append((char)(c+32));}else if(c>='a' && c<='z'){buf.append((char)(c-32));}else if(c>='0' && c<='9'){int n = c - '0';for(int i=0; i<=n; i++){buf.append(c);}}else{buf.append("\\").append(c=='-'?'_':'-');}}String encode = buf.toString();System.out.println(encode);
​}}

 

这篇关于将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857769

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎