首页编程java编程java随机生成字母 java生成唯一字符串

java随机生成字母 java生成唯一字符串

编程之家2026-05-301069次浏览

大家好,关于java随机生成字母很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java生成唯一字符串的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

java随机生成字母 java生成唯一字符串

JAVA—利用Math.random随机产生字母的问题

1.'a'不是一个String类型,而是一个基本类型 char。

2.根据java运算规则。运算符俩边的基本数据类型不一致的话,短类型会自动转换为较长的数据类型,再进行计算

3.因为 int> char类型。因此上面的计算,会被转化成

char c=(char)(Math.random()* 26+(int)('a'));

4.因此实际的结果为 char c=(char)(Math.random()* 26+ 97);

>> char c=(char)( [0- 26]+ 97);

java随机生成字母 java生成唯一字符串

因此实际结果是。小写 a~ z

百度知道团【程序猿和程旭媛】做出解答。

请采纳为答案

java怎么实现随机4个带有数字和字母的验证码

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.Graphics;

java随机生成字母 java生成唯一字符串

importjava.awt.image.BufferedImage;

importjava.util.Random;

importjavax.imageio.ImageIO;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importjavax.servlet.http.HttpSession;

publicclassRandomValidateCode{

publicstaticfinalStringRANDOMCODEKEY="RANDOMVALIDATECODEKEY";//放到session中的key

privateRandomrandom=newRandom();

privateStringrandString="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//随机产生的字符串

privateintwidth=80;//图片宽

privateintheight=26;//图片高

privateintlineSize=40;//干扰线数量

privateintstringNum=4;//随机产生字符数量

/*

*获得字体

*/

privateFontgetFont(){

returnnewFont("Fixedsys",Font.CENTER_BASELINE,18);

}

/*

*获得颜色

*/

privateColorgetRandColor(intfc,intbc){

if(fc>255)

fc=255;

if(bc>255)

bc=255;

intr=fc+random.nextInt(bc-fc-16);

intg=fc+random.nextInt(bc-fc-14);

intb=fc+random.nextInt(bc-fc-18);

returnnewColor(r,g,b);

}

/**

*生成随机图片

*/

publicvoidgetRandcode(HttpServletRequestrequest,

HttpServletResponseresponse){

HttpSessionsession=request.getSession();

//BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类

BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_BGR);

Graphicsg=image.getGraphics();//产生Image对象的Graphics对象,改对象可以在图像上进行各种绘制操作

g.fillRect(0,0,width,height);

g.setFont(newFont("TimesNewRoman",Font.ROMAN_BASELINE,18));

g.setColor(getRandColor(110,133));

//绘制干扰线

for(inti=0;i<=lineSize;i++){

drowLine(g);

}

//绘制随机字符

StringrandomString="";

for(inti=1;i<=stringNum;i++){

randomString=drowString(g,randomString,i);

}

session.removeAttribute(RANDOMCODEKEY);

session.setAttribute(RANDOMCODEKEY,randomString);

System.out.println(randomString);

g.dispose();

try{

ImageIO.write(image,"JPEG",response.getOutputStream());//将内存中的图片通过流动形式输出到客户端

}catch(Exceptione){

e.printStackTrace();

}

}

/*

*绘制字符串

*/

privateStringdrowString(Graphicsg,StringrandomString,inti){

g.setFont(getFont());

g.setColor(newColor(random.nextInt(101),random.nextInt(111),random.nextInt(121)));

Stringrand=String.valueOf(getRandomString(random.nextInt(randString.length())));

randomString+=rand;

g.translate(random.nextInt(3),random.nextInt(3));

g.drawString(rand,13*i,16);

returnrandomString;

}

/*

*绘制干扰线

*/

privatevoiddrowLine(Graphicsg){

intx=random.nextInt(width);

inty=random.nextInt(height);

intxl=random.nextInt(13);

intyl=random.nextInt(15);

g.drawLine(x,y,x+xl,y+yl);

}

/*

*获取随机的字符

*/

publicStringgetRandomString(intnum){

returnString.valueOf(randString.charAt(num));

}

}

用java随机生成四位验证码,只求编程代码

下面简单的介绍他们的功能和用途,执行效率等。每个都有各自的优缺点看你是做甚什么方面的研究开发用。

.net,是网站编程,现在很多都用这个,但是这个语言编程都有统一思路,很好掌握。窒息那个效率不是很高;

php支持跨平台,很容易学会,执行的效率很高;

asp是ASP.net的前身,它比较稳定,比.net要弱一点。但是比.net好学。

jsp是网页编程,这个学习大约一周就能搞定,不过这个得多实践,不然的话,时间长了,就容易忘记。

关于java随机生成字母和java生成唯一字符串的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

java ee?java免费下载珠宝加工日常,珠宝有哪些种类