江州白居易- 2022-04-03 14:42 采纳率: 100%
浏览 42
已结题

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

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

  • 写回答

2条回答 默认 最新

  • 嘉祐-小萝卜算子 2022-04-03 14:57
    关注

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

    
    
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月2日
  • 已采纳回答 1月25日
  • 创建了问题 4月3日