Java 为什么';我的程序没有输出吗? 公共类杂项2{ 公共静态void main(字符串[]args){ 长a=System.currentTimeMillis(); 长b=a%100; 如果(b>64&&b

Java 为什么';我的程序没有输出吗? 公共类杂项2{ 公共静态void main(字符串[]args){ 长a=System.currentTimeMillis(); 长b=a%100; 如果(b>64&&b,java,character,Java,Character,我对您的尝试有点困惑。“char”是数组吗?如果是,您的语法是关闭的,您应该这样做 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”是数组吗?如果是,您的语法是关闭的,您应该这样做

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));

    }
}

我建议对类执行此操作。您可以指定精确的范围

 System.out.println(" "+char[b+65]);
 System.out.println(" "+char[b+44]);
nextInt(26)
返回0-25之间的随机数

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

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

在我看来,您使用的是4个范围:

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

b可能在[91,99]范围内。

为什么不尝试另一个实验?当输出0-100范围内的所有字符时会发生什么?您可能会在其中发现一些“空”字符(可能更像)不,我猜OP使用的是ASCII值(因此是21、44、65;它们对应于特定的ASCII字符)。此外,我99.9%确定不能用Java命名数组“char”。
0 becomes 65
1 becomes 66
...
25 becomes 90