请问为什么没有输出数字?

请问为什么没有输出数字?

public class LoopDemo {
    public static void main(String[] args) {
		//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge;
        int shi;
        int bai;
        int avg;
        int sum;
		//使用for循环
        for(int i = 200;(i>=200)&&(i<=300);i++)
        {
			//取出个位数
		ge = i%10;
		i = i/10;
		   //取出十位数
		shi = i%10;
		i = i/10;
		   //取出百位数
		bai = i%10;
		  //计算三个数字之积
        avg = ge*shi*bai;
		  //计算三个数字之和
		sum = ge+shi+bai;
          //如果积等于42并且和为12,则将满足条件的数输出
		if((avg==42)&&(sum==12)){
        	System.out.println(i);
        }
        }
		
	}
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
慕容1741823 2017-05-24 17:04:26
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge,shi,bai;
		//使用for循环
        for(int num=200;num<300;num++)
        {
			//取出百位数
        	bai=num/100;
		
			//取出十位数
			shi=num/10;
			//取出个位数
		   ge=num%10;
			//计算三个数字之积
            int ji=bai*shi*ge;
			//计算三个数字之和
			int he=bai+shi+ge;
            //如果积等于42并且和为12,则将满足条件的数输出
			if(ji==42&&he==12){
				System.out.println(num+" ");
			}

无输出项

  • shi=num/10;改成那个shi=num/10%10;
    2017-05-24 18:33:33
好帮手慕珊 2017-04-21 14:14:57

十百位的取值有问题,见下面的代码,祝学习愉快!

// 取出个位数
ge = i % 10;
int j = i / 10; // i=i/10不能修改i的值,后面i的值还要被使用
// 取出十位数
shi = j % 10;
// 取出百位数
bai = i / 100; // 这样取出百位数


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师