大家帮忙看看这个程序到底哪错了,实在找不出来错的原因!!!
package cn;public class PlateNumber{
public static void main(String args[]) throws Exception{
long i=1000,plate=2;
int r=5;
String numI,n1;
int[] num=new int[4];
long n2=0;
while(plate==2 && i<=9999){
System.out.println("t "+r);
numI=String.valueOf(i);
for(int j=0;j<4;j++){
n1=numI.substring(j,j+1); //substring 用法:从j处开始截取j到j+1个字符
// i, j 从j处开始截取i到i区间内的字符
// System.out.print(j+"-"+n1+" numI="+numI+" ");
num[j]=Integer.valueOf(n1);
}
r=r*r; //错误出在这里
if(num[0]==num[1] && num[2]==num[3] && num[0]!=num[3] && r==i){
System.out.println("Number"+(n2+1)+" Plate Number is "+i);
return;
}
i++;
}
}
}
如果加上 r=r*r
程序就出错,送个while() 后r的值不是0就是1,为什么呀。