- import java.util.Random;
- public class Test {
- private static Random r = new Random();
- public static void main(String[] args) {
- StringBuffer word = null;
- switch(r.nextInt(1)) {
- case 1: word = new StringBuffer("P");
- break;
- case 2: word = new StringBuffer("G");
- break;
- default: word = new StringBuffer("M");
- break;
- }
-
- word.append('a');
- word.append('i');
- word.append('n');
- System.out.println(word);
- }
- }
复制代码 楼主其实要输出Main很简单,只要把switch后面的那个随机常量改成r.nextInt(1),单引号改成双引号就可以了
因为他随机出现的数是不包含尾的,也就是说你要r.nextInt(2)里面是2的话随机出来的数只是0,1.要是改成r.nextInt(1)之后随机出来的数就只有0,0不满足上面两个case,所以就会输出default下面的代码了,至于该双引号是因为StringBuffer的构造方法里面根本就没有char类型的构造方法,所以传个char类型的字符进去是不行的。 |