㈠ java怎么生成一个指定长度的字符串
public class GenString {
public static String gen(int length) {
char[] ss = new char[length];
int[] flag = {0,0,0}; //A-Z, a-z, 0-9
int i=0;
while(flag[0]==0 || flag[1]==0 || flag[2]==0 || i<length) {
i = i%length;
int f = (int) (Math.random()*3%3);
if(f==0)
ss[i] = (char) ('A'+Math.random()*26);
else if(f==1)
ss[i] = (char) ('a'+Math.random()*26);
else
ss[i] = (char) ('0'+Math.random()*10);
flag[f]=1;
i++;
}
return new String(ss);
}
}
㈡ Java怎么生成一个指定长度的字符串类似于验证码
我写了个方法,参数是你指定的长度,按照这个方法,可以随机生成字符串。但是不保证重复,可以参考一下。
publicclassRandomString{
privatefinalstaticbyte[]seed={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
(intlength){//参数为指定的字符串长度
Stringstr="";
StringBufferbuffer=newStringBuffer();
for(intj=0;j<length;j++){
inti=(int)(Math.random()*25);
charb=(char)seed[i];
buffer.append(b);
}
str=buffer.toString();
returnstr;
}
publicstaticvoidmain(String[]args){
StringrandomStr=getRandomString(6);
System.out.println(randomStr);
}
}
㈢ java 固定字符串长度问题:
大量数据的话,定义String[] blanks,里面包含10元素,0个空格,1个空格,2个空格....直到9个空格,需要处理的字符串假设是str,结果就是str + blanks[10 - str.length],当然不应该用字符串连接,应该用一个StringBuffer,不需要同步的话考虑StringBuilder,初始化时就固定长度10
String[]blanks={"","","","","","","","","",""};
Stringstr="abc";
StringBuildersb=newStringBuilder(10);
sb.append(str).append(blanks[10-str.length()]);
System.out.println(sb.toString());
sb.delete(0,10);//注意清空sb,可复用此对象
㈣ Java:应该如何将字符串格式化成固定长度呢
随便自己写个方便啊。
/**
* 获取定长的字符串
* @param str 原始字符串
* @param len 固定长度
* @param c 不够填充的字符
* @return 固定长度的字符串
*/
public static String getFixedLenString(String str, int len, char c) {
if (str == null || str.length() == 0){
str = “”;
}
if (str.length() == len){
return str;
}
if (str.length() > len){
return str.substring(0,len);
}
StringBuilder sb = new StringBuilder(str);
while (sb.length() < len){
sb.append(c);
}
return sb.toString();
}
㈤ java实现输出指定长度的随机字符(大小写字母和数字)遇到问题
程序输出错误的原因(见图)
㈥ Java怎么生成一个指定长度的字符串,且这个字符串必须包含大小写字母和数字
这个应该可以达到你的要求。
---------------------------------------------------------------------------
public class StringLen {
public static void main(String[] args) {
StringBuffer buff = new StringBuffer();
int len = 10;
if (len < 3) {
// 必须包含大小写字母和数字
// 那这个字符串最小长度是3.
return;
}
int index = 0;
for (int i = 0; i < len; i++) {
char c = 'a';
int random = (int) (Math.random() * 1000);
if (i > 3) {
index = random % 3;
} else {
index = i;
}
switch (index) {
case 0:
buff.append((char) (97 + random % 26));
break;
case 1:
buff.append((char) (65 + random % 26));
break;
case 2:
buff.append((char) (48 + random % 10));
break;
}
}
System.out.println(buff.toString());
}
}
㈦ java字符串超长截取保留指定长度
可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:
string
getsigninfo
=
reqresult.substring(reqresult.indexof("(")
+
1,
reqresult.indexof(")"));
解释:上述方法就是截取reqresult字符串的中开始”(“和结束”)“中间部分的内容,”1“就是”)“的长度,之后将获取的结果赋值给”getsigninfo进行输出即可“;
备注:以上方法通用于截取字符串,数字”1“和开始结束字符串根据实际需要修改即可。
㈧ java字符串超长截取保留指定长度
可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("(") + 1, reqResult.indexOf(")"));
解释:上述方法就是截取reqResult字符串的中开始”(“和结束”)“中间部分的内容,”1“就是”)“的长度,之后将获取的结果赋值给”getSignInfo进行输出即可“;
备注:以上方法通用于截取字符串,数字”1“和开始结束字符串根据实际需要修改即可。
㈨ Java怎么生成一个指定长度的字符串,且这个字符串必须包含大小写字母和数字
/**
* 得到一个随机的由数字与字母组成的文件名
* @return
* @date :2011-12-2
*/
public static String getRandomName(){
String name="";
Random random = new Random(); // 实例化一个Random对象
int itmp=0;
int length=20;//默认的文件长度是20
try{
length=Integer.valueOf(Config.getSingleConfig(ConfigItem.DOC_NAME_LENGTH));
}catch(Exception e){}
for (int i = 0; i <length ; i++) {
if (random.nextInt(2) == 1) {
itmp = random.nextInt(26) + 65; // 生成A~Z的字母
} else {
itmp = random.nextInt(10) + 48; // 生成0~9的数字
}
char ctmp = (char) itmp;
name += String.valueOf(ctmp);
}
return name;
}