JAVA打印指定长度的随机英文字母(小写)

it2023-09-02  71

JAVA打印指定长度的随机英文字母(小写)

这里要用到一个生成随机数的方法Math.random()

关于Math.random()

它是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值,是Java语言常用的方法

所以在进行代码编写时,我们就要考虑到随机生成数的上限

for (int i = 0; i < length; i++) { char n = (char) ((Math.random() * 26 )+97); //小写字母a-z对应的ASCII码是97-122

因为小写字母a-z对应的ASCII码值是97-122,而random方法 取不到上限,所以在这里是*26,而不是25!!!

((Math.random() * 26 )+97)

这里还用到的一个知识——

基本数据类型的转换

基本数据类型在由低级向高级转换时,系统会自动转换,不需要强制转换。而在由高级向低级转换时,需要用到强制转换符。

转换规则: (type)value type

这里贴一张图片(摘自菜鸟教程,侵删)

因为double类型的优先级高于char类型,所以要用强制转换

char n = (char) ((Math.random() * 26 )+97);在这里插入代码片

具体关于类型转换的知识可以转至下方链接查看

基本类型转换

完整代码

package JAVAexp; import java.util.Scanner; //JAVA的输入需要用到Scanner类,需要调用包 public class 随机小写字母 { public static void main(String[] args) { //输出指定数目的随机英文小写字母 System.out.println("请输入随机字母的长度"); Scanner print = new Scanner(System.in); //新建一个print对象用来获取英文字母的个数 int length = print.nextInt(); for (int i = 0; i < length; i++) { char n = (char) ((Math.random() * 26 )+97); //小写字母a-z对应的ASCII码是97-122 System.out.print(n + " "); } } }
最新回复(0)