求简洁或更好的写法,谢谢!
public class LoopDemo {
public static void main(String[] args) {
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
int a,s=0,g=0,ge,shi=0,bai;
int sum,ji;
//使用for循环
for(a=200;a<300;a++,s++,g++)
{
//取出百位数
bai=2;
//取出十位数
switch(s){
case 0: shi=0;break;
case 10:shi=1;break;
case 20: shi=2;break;
case 30: shi=3;break;
case 40: shi=4;break;
case 50: shi=5;break;
case 60:shi=6;break;
case 70: shi=7;break;
case 80: shi=8;break;
case 90: shi=9;break;
}
//取出个位数
if(g==10) g=0;
ge=g;
//计算三个数字之积
ji=bai*shi*ge;
//计算三个数字之和
sum=bai+shi+ge;
//如果积等于42并且和为12,则将满足条件的数输出
if(ji==42&&sum==12)
System.out.println(a);
}
}
}
正在回答 回答被采纳积分+1
public class LoopDemo {
public static void main(String[] args) {
int ge,shi,bai; //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
for (int i=200;i<=300;i++){
bai=i/100; //取出百位数
shi=i/10%10; //取出十位数
ge=i%10; //取出个位数
int ji=ge*shi*bai; //计算三个数字之积
int he=ge+shi+bai; //计算三个数字之和
if ((ji==42)&(he==12)) //如果积等于42并且和为12,则将满足条件的数输出
System.out.println(i);
}
}
}
public class LoopDemo {
public static void main(String[] args) {
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
int ge,shi,bai;
//使用for循环
for(int num=200;num<=300;num++)
{
//取出百位数
bai=(int)(num/100);
//取出十位数
shi=(int)(num/10-bai*10);
//取出个位数
ge=num%10;
//计算三个数字之积
int j=bai*shi*ge;
//计算三个数字之和
int h=bai+shi+ge;
//如果积等于42并且和为12,则将满足条件的数输出
if(j==42&&h==12)System.out.println(num);
}
}
}
楼主看看吧
这道题主要是要想到怎么取ge shi bai的方法
public class LoopDemo {
public static void main(String[] args) {
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
int ge=0,shi=0,bai=0;
//使用for循环
for(int i=200;i<=300;i++){
//取出百位数
bai=i/100;
//取出十位数
shi=i%100/10;
//取出个位数
ge=i%10;
//计算三个数字之积
int add=bai*shi*ge;
//计算三个数字之和
int sum=bai+shi+ge;
//如果积等于42并且和为12,则将满足条件的数输出
if(add==42&&sum==12){
System.out.println(i);
}
}
}
}
public class LoopDemo {
public static void main(String[] args) {
//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
int ge,shi,bai;
//使用for循环
for(int i=200;i<=300;i++)
{
//取出百位数
bai=i/100;
//取出十位数
shi=(i-i/100*100)/10;
//取出个位数
ge=i%10;
//计算三个数字之积
int a=bai*shi*ge;
//计算三个数字之和
int b =bai+shi+ge;
//如果积等于42并且和为12,则将满足条件的数输出
if(a==42&b==12)
System.out.println(i+" ");
}
}
}
// 定义变量ge、shi、bai,用于存放个位、十位、百位上的数字,以及存放积的sum1,存放和的sum2 int ge, shi, bai,sum1,sum2; // 使用for循环 for (int num = 200; num <= 300; num++) { // 取出百位数 bai = num / 100; // 取出十位数 shi = (num / 10) % 10; // 取出个位数 ge = num % 10; // 计算三个数字之积 sum1 = ge * shi * bai; // 计算三个数字之和 sum2 = ge + shi + bai; // 如果积等于42并且和为12,则将满足条件的数输出 if (sum1 == 42 && sum2 == 12) { System.out.println(num); } }
要取哪一位,就把小数点移到那一位后面(整除10*n),然后除以10取余就得到了。
比如12345,要取百位上的3,就把小数点移到3那位后面,就是先整除100, 得到123, 再除以10取余就得到3了;
代码来写就是
int number = 12345;
int ge = number%10; //个位, 小数点已经在个位后面了就不用再除
int shi = number/10%10; //十位, 整除10让小数点移到十位上的数字4后面,得到1234,再除以10取余得到
int bai = number/100%10; //百位,小数点移到百位3之后,除以10取余得到百位
int qian = number/1000%10;
————摘自某位同学的详解!
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星