「java生成不重复字符串」java给定一个字符串,找出不含有重复

博主:adminadmin 2023-01-08 02:54:08 520

今天给各位分享java生成不重复字符串的知识,其中也会对java给定一个字符串,找出不含有重复进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中,我想随机获取不重复的字符串?应该怎么办?

1.先确定字符串的长度;

2.再确定字符串包括哪些字符;//这样可以确定字符的ASCII范围

3.然后就有很多方法去随机获取字符:

把字符存放在一个Map中的value中,如:map.put(1,"字符1");map.put(2,"字符2");

map.put(3,"字符3");一次类推,通过Math.random()*字符的个数,取整就可以得到key值,

map.get(key),value不为null,然后在map中删除这个key-value,可以设置map.put(key,null);

循环到字符串的长度为需要的长度。

具体一种方法的代码:

import java.util.HashMap;

import java.util.Map;

public class RandomStr {

public static void main(String[] args) {

for(int i=0; i 10; i++){//测试10次产生随机不重复字符串

generateRandomStr(5);

}

}

/**

* 产生不重复的随机字符串

* @param len 生成字符串的长度

* @return

*/

public static String generateRandomStr(int len){

String strRange = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//字符串范围,根据自己的需求确定

MapString, String tmp = new HashMapString, String();

for(int i=0; istrRange.length(); i++){

tmp.put(i+"",strRange.charAt(i)+"");

}

StringBuffer result=new StringBuffer();

for(int i=0; ilen; i++){

String key = (int)(Math.random()*(strRange.length()-i))+"";

result.append(tmp.get(key));

tmp.remove(key);

tmp.put(key, tmp.get((strRange.length()-i-1)+""));//拿最后一个字符填充删除的位置key-value

}

System.out.println(result);

return result.toString();

}

}

java 实现 一个字符串中不重复最长子串

这个函数的目的是求最长不重复子串,所谓不重复子串是指由某个字符串中相邻的N个字符组成,这个N内所有字符都是不重复的,最长是指这个N最大。如字符串"abcdefghiud",最长的不重复的子串为"abcdefghiu"

cursor里面存放字符的在字符串中的位置

lengAt[i]存放以字符string.charAt(i)结尾的最长子字符串的长度

max的目的就是确定这个最长,因为最开始可能找到的子串比以后找到的子串短,所以用max比较

java怎么生成6位不重复

描述不是很清晰,给你提供几段代码你看看咯

1、System.out.println((int)((Math.random()*9+1)*100000)); 这个是6位的随机数字

2、String chars = "abcdefghijklmnopqrstuvwxyz";

System.out.println(chars.charAt((int)(Math.random() * 26)));

这个是随机的26位字母字符串

如果有其它的规则你可以参考一下这些代码

java 生成不重复字符串

这么说

通过生成随机数每个随机数1-15对应一个字符串

生成随机数后通过看这个随机数是不是出现了的

然后输出

怎么判断是否重复出现可以先

new

a[15]

全部赋值为0然后

a[random(i)]

例如第一个是2

那么a[2]=1;

这么判断是否重复出现

至于随机数的函数自己看API

自有自己写才可以快速的提高

怎么样用java代码自动生成不重复的含有数字和字母的随机码

package tests;

/**

* 随机生成32位字符串

*/

public class String32 {

public static String random(int length){//传入的字符串的长度

StringBuilder builder = new StringBuilder(length);

for(int i = 0; i length; i++){

int r = (int) (Math.random()*3);

int rn1=(int)(48+Math.random()*10);

int rn2=(int)(65+Math.random()*26);

int rn3=(int)(97+Math.random()*26);

switch(r){

case 0:

builder.append((char)rn1);

break;

case 1:

builder.append((char)rn2);

break;

case 2:

builder.append((char)rn3);

break;

}

}

return builder.toString();

}

public static void main(String[] args){

String s = String32.random(32);

System.out.println(s);

}

}

java如何生成不重复8位String类型字符串?

没有什么特别好的办法

组成有 62个字符

那你每次就取 随机数x 0~62范围 对应a[x]

取8次组成一个字符串

存放在 hashmap中

直到hashmap中的个数满足要求 就停止

java生成不重复字符串的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java给定一个字符串,找出不含有重复、java生成不重复字符串的信息别忘了在本站进行查找喔。