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 + " ");
}
}
}