万分火急,JAVA求助,程序有错误,什么答案都输不出来,注释掉的地方,那个判断的地方错了,高手们帮我看看
题目是这样的
a b c d e
+ 2 0 0 8 5
------------
A B C D E
a,b,c,d,e,A,B,C,D,E必须是0-9的数字,且不可以重复。
public class funnyplay2 {
public static int panduan(int[] n)
{
for(int m=0;m <=9;m++)
{
for(int r=m;r <=9;r++)
{
if(n[m]==n[r])
return 0;
}
}
return 1;
}
public static void main(String args[])
{
int a,b,c,d,e,A,B,C,D,E,i,j;//定义各个变量
int b1,c1,d1,e1;
int num1,num2;
num1=num2=0;
int[] p= new int[10];//十个元素的数组来存放a,b,c,d,e,A,B,C,D,E
for(e=0;e <=9;e++)
{
E=(e+5)%10;
e1=(e+5)/10;//进位
p[0]=e;
p[5]=E;
for(d=0;d <=9;d++)
{
D=(d+8+e1)%10;
d1=(d+8+e1)/10;//进位
p[1]=d;
p[6]=D;
for(c=0;c <=9;c++)
{
C=(c+d1)%10;
c1=(c+d1)/10;//进位
p[2]=c;
p[7]=C;
for(b=0;b <=9;b++)
{
B=(b+c1)%10;
b1=(b+c1)/10;//进位
p[3]=b;
p[8]=B;
for(a=1;a <=9;a++)
{
A=(a+b1)%10;
p[4]=a;
p[9]=A;
if((a+b1)/10!=0)
continue;//如果到第五位还有进位,就继续a++
/*j=panduan(p);
if(j==0) //这里调用判断函数
continue;*/
for(i=4;i>=0;i--)
{
num1=num1*10+p[i]; //num1=abcde
}
for(i=9;i>=5;i--)
{
num2=num2*10+p[i]; //num2=ABCDE
}
System.out.println("解是:"+num1+"和"+num2);
}
}
}
}
}
}
}
[解决办法]
不要盲目地写代码,先分析分析
c=9
C=0
B=b+1
D=d+8-10
=d-2
a<=7
[解决办法]