Java-ascii校验
我有下一个代码:Java-ascii校验,java,ascii,Java,Ascii,我有下一个代码: t= (int)(Math.random()*8+1)+96; //ascii table if (t!= 96){ choose[(int)(t-97)] = 1; r[0] = (char)t;} } 我尝试在r[0]中,只有从b到h的字符是不允许的。当我运行它时,我看到有时r[0]包含“a”。原因可能是什么?'a'是,你并没有阻止它 为什么不先选择一个从98‘b’到1
t= (int)(Math.random()*8+1)+96; //ascii table
if (t!= 96){
choose[(int)(t-97)] = 1;
r[0] = (char)t;}
}
我尝试在r[0]中,只有从b到h的字符是不允许的。当我运行它时,我看到有时r[0]包含“a”。原因可能是什么?'a'是,你并没有阻止它
为什么不先选择一个从98‘b’到104‘h’的值,而不是允许选择‘a’,然后拒绝它
我还建议使用Random.nextInt代替Math.Random,使用字符文字代替幻数,但是…键
a= 97 //asCII
但在计算后,如果96键上有if条件,则不会验证最后一个键值。请参见如果Math.random返回的值小于0.1249,则将打印该值。然后整数值变为97,从而打印“a”。a的ASCII值为97。您正在检查它是否不仅仅是96。我认为它是这样的:int Math.random*高-低+低;意思是:>=x,我迟到了传说就在这里-