请看看我的短代码哪里错了

编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

 package com.imooc.flow1;

public class LoopDemo2 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int ge,shi,bai,ji,he;
        //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        for(int i=200;i<300;i++){
            bai=2;
            shi=(i-200)/10;
            ge=i%10;
            ji=bai*shi*ge;
            he=bai+shi+ge;
            System.out.println(bai+shi+ge);
            if((ji==42)&(he==12)){
                System.out.println(bai+shi+ge);
            }
        }

    }

}

逻辑没有问题,最后变成了做加法
System.out.println(bai+""+shi+""+ge);

图片说明

输出格式有误!

package testBL;

public class Test15 {

/**
 * @param args
 */
public static void main(String[] args) {
       // TODO 自动生成的方法存根
    int ge,shi,bai,ji,he;
    //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
    for(int i=200;i<300;i++){
        bai=2;
        shi=(i-200)/10;
        ge=i%10;
        ji=bai*shi*ge;
        he=bai+shi+ge;
       //System.out.println(bai+shi+ge);
        if((ji==42)&(he==12)){
            System.out.println(i);
        }
    }

}

}

这样就可以了,最后直接输出i

上面说的对 输出格式有问题 你输出的是三个数字符串 应该输出i

 public class LoopDemo2 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int ge,shi,bai,ji,he;
        //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        bai = 2;
        for(int i=1;i<10;i++){
           ge = i;
           shi = 10 - i;
           if(ge*shi==21){
               System.out.println(""+bai+shi+ge);
           }
        }
    }

}

其实可以优化的,百位一定是2,那么各位和十位的和为10,积为21。

public static void main(String[] args) {
// TODO 自动生成的方法存根
int ge,shi,bai,ji,he;
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
for(int i=200;i<300;i++){
bai=2;
shi=(i-200)/10;
ge=i%10;
ji=bai*shi*ge;
he=bai+shi+ge;
if((ji==42)&&(he==12)){
System.out.println(bai*100+shi*10+ge);
}
}

    }

public class aaa {

 public static void main(String[] args) {
        // TODO 自动生成的方法存根
        int ge,shi,bai,ji,he;
        //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        for(int i=200;i<300;i++){
            bai=2;
            shi=(i-200)/10;
            ge=i%10;
            ji=bai*shi*ge;
            he=bai+shi+ge;
            if((ji==42)&&(he==12)){
                System.out.println(bai*100+shi*10+ge);
                System.out.println("bai:"+bai+"---shi:"+shi+"---ge:"+ge);
            }
        }

    }

/**
 *【对方法功能进行描述说明】
 *@author   【作者】
 *@param   【参数1 说明】
 *@param   【参数2 说明】
 *@return   【返回值】
 *@since    【版本号】
 *@createTime【时间】
 */

}