这是我尝试的这个家庭作业问题的代码:
编写一个名为randomLines的方法,打印5到10个随机字母串(在“a”和“z”之间),每行一个。每个字符串的随机长度最多为80个字符。
public static void randomLines(){
Random rand = new Random();
for (int i = 1; i<=rand.nextInt(6)+5; i++) {
for(int j = 1; j <= rand.nextInt(25)+97; j++){
System.out.print(s.charAt(r.nextInt(N)));
System.out.println((char) rand.nextInt(25)+97);
}
}
}
这是我唯一的问题:
如何在此处打印随机字符:
System.out.println((char) rand.nextInt(25)+97); << prints random integers not characters
我的逻辑是:该范围的ASCII字符介于97-122(a-z)之间。
感谢您的帮助。
答案 0 :(得分:0)
你在赛道上,你只需要看你的操作顺序。 Typecasting comes before addition,因为它是一元的。只需添加一些括号!
System.out.println((char) (rand.nextInt(25)+97));
答案 1 :(得分:0)
使用this将其转换为字符。
的System.out.println(Char.toString(rand.nextInt(25)97));
答案 2 :(得分:0)
使用此:
System.out.prinln(Char.toString(rand.nextInt(25)+97);