0

这是我尝试解决此作业问题的代码:

编写一个名为 randomLines 的方法,它打印 5 到 10 个随机字母字符串(在“a”和“z”之间),每行一个。每个字符串应具有最多 80 个字符的随机长度。

公共静态无效随机线(){

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 (az) 之间。

谢谢您的帮助。

4

3 回答 3

0

你在轨道上,你只需要注意你的操作顺序。类型转换出现在 add 之前,因为它是一元的。只需添加一些括号!

System.out.println((char) (rand.nextInt(25)+97));
于 2013-11-06T01:18:07.090 回答
0

使用来将其转换为字符。
System.out.println(Char.toString(rand.nextInt(25)+97));

于 2013-11-06T01:18:37.207 回答
0

用这个:

System.out.prinln(Char.toString(rand.nextInt(25)+97);
于 2013-11-06T01:20:40.190 回答