黑马程序员技术交流社区
标题:
,这个题目怎么解啊,求大神
[打印本页]
作者:
想成为黑马
时间:
2014-11-4 11:58
标题:
,这个题目怎么解啊,求大神
随机产生若干字母(A~Z间),直到出现字母Q停止。
作者:
mingtianrsm
时间:
2014-11-4 12:01
你可以尝试用随机数,定义范围是A~Z之间,当得到的随机数值等于Q的值时,就可以了。
作者:
qq8921310
时间:
2014-11-4 12:02
我 的思路是 先建立一个数组,把A-Z 写进去。
然后建立random
取随机的角标。
当出现q对应的角标时就停止。
作者:
hailong
时间:
2014-11-4 12:57
package cn.verification;
import java.util.Random;
public class Test {
public static void main(String[] args) {
String s = random();
System.out.println(s);
}
public static String random() {
String[] str = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z" };
Random r = new Random();
StringBuffer buffer = new StringBuffer();
while (true) {
int i = r.nextInt(str.length);
if (str[i].equals("q")) {
buffer.append(str[i]);
break;
} else if (buffer.indexOf(str[i]) >= 0) {
continue;
} else {
buffer.append(str[i]);
}
}
return buffer.toString();
}
}
复制代码
不知道是不是你想要的效果
作者:
wf111sxwf
时间:
2014-11-4 13:15
查表法的思想, 把字母存入数组然后操作角标就可以了。用Math
作者:
lighter
时间:
2014-11-4 13:36
字母类型为字符型,可以直接产生随机数,然后加一条件判断就行啦
作者:
姜浩
时间:
2014-11-4 14:19
public static void main(String[] args)
{
Random rdm = new Random();
while (true)
{
char c = (char) (rdm.nextInt(25) + 65);
System.out.print(c + " ");
if (c == 'Q')
{
break;
}
}
}
复制代码
这种方法是直接随机产生,65-90之间的之间的整数,再通过这些数找到ascii码中对应的字母。
作者:
九零零
时间:
2014-11-4 15:13
import java.util.Random;
public class Test1 {
public static void main(String[] args) {
getLetter();
}
private static void getLetter() {
StringBuilder sb = new StringBuilder();
int temp;
char c;
do {
temp = new Random().nextInt('Z' - 'A' + 1) + 'A';
c = (char) (temp);
sb.append(c);
} while (c!='Q');
System.out.println(sb);
}
}
复制代码
和楼上想法一样
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2