java设计一个算法求象棋这些棋子各代表哪些数字

【象棋算式】   
        兵      炮       马       卒
                    + 
    兵      炮       车       卒
                   
车     卒      马       兵       卒
请问这个用java语言怎么设计 真的不懂 感谢

public class Main{
  public static void main(String []args){
       //设计一个算法求象棋这些棋子各代表哪些数
    int a, b, c, d, e, m, n, s;    //设兵为a,炮为b,马为c,车为d,卒为e
    for (a = 1; a <= 9;a++) {
        for (b = 0; b <= 9;b++) {
            for (c = 0; c <= 9;c++) {
                for (d = 0; d <= 9;d++) {
                    for (e = 0; e <= 9;e++) {
                        if (a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e) {
                            continue;
                        }else{         //代入象棋算式中
                            m = a * 1000 + b * 100 + c * 10 + d;
                            n = a * 1000 + b * 100 + e * 10 + d;
                            s = e * 10000 + d * 1000 + c * 100 + a * 10 + d;
                            if (m+n==s) {
                                System.out.println("兵="+ a);                            System.out.println("炮="+ b);                                System.out.println("马="+ c);                                System.out.println("车="+ d);                                System.out.println("卒="+ e);                        }                        }
 
                    }
                }
            }
        }
    }
}
}

img

请参考,哪里没看明白,可以艾特我



public class xiangqi {
    public static void main(String[] args) {
        //因为数量不大,所以使用遍历来实现
        int bing,pao,ma,zu,che;
        for(int i=1000;i<=9999;i++){
            //兵      炮       马       卒
            //就代表i 的四位数
            bing=i/1000;
            pao=(i%1000)/100;
            ma=(i%100)/10;
            zu=i%10;
            //兵      炮       车       卒
            //因为车未知,所以 我们遍历一下他,让他作为0-9出现
            for(che =0;che<=9;che++){
                //然后两个结果数相加
                // i=兵      炮       马       卒
                int n=i+ bing*1000+pao*100+che*10+zu;
                //将得到的结果与 车     卒      马       兵       卒进行比较,相同就说明对了,不相同就代表错了
                if(n==(che*10000+zu*1000+ma*100+bing*10+zu)){
                    System.out.println("结果:车="+che+"   兵="+bing+"   炮="+pao+"   马="+ma+"    卒="+zu);
                }
            }
        }
    }
}

img