为什么我的程序没有任何输出?

时间:2014-05-30 14:59:23

标签: java character

public class miscellaneous2 {
    public static void main(String[] args){

        long a=System.currentTimeMillis();
        long b=a%100;
        if(b>64&&b<90)
            System.out.println(" "+(char)b);
        else if(b<21)
            System.out.println(" "+(char)(b+65));
        else if(b>=21&&b<=44)
            System.out.println(" "+(char)(b+44));
        else if(b>44&&b<65)
            System.out.println(" "+(char)(b+21));

    }
}

我试图随机显示大写字母。为什么有时我会得到空输出?

3 个答案:

答案 0 :(得分:0)

我对你的尝试感到有点困惑。是&#39; char&#39;数组?如果是这样,你的语法是关闭的,你应该这样做

 System.out.println(" "+char[b+65]);
 System.out.println(" "+char[b+44]);

答案 1 :(得分:0)

我建议用Random类来做这件事。您可以指定确切的范围。

System.out.println((char) (new Random().nextInt(26) + 65));

nextInt(26)返回0-25之间的随机数

+ 65使这个数字从65开始而不是0

0 becomes 65
1 becomes 66
...
25 becomes 90

答案 2 :(得分:0)

对我而言,您似乎正在使用4个范围:

  • [0,20]
  • [21,44]
  • [45,64]
  • [65,90]

b 可能属于[91,99]范围。