关于java程序问题,哪位高手能帮我看看下面那道我写的程序哪里出问题了,为什么不能输出预期结果

题目要求:编写程序,求满足下述条件的三位数:这种三位数等于它各位数字的立方和。我写的程序如下:publicclassunite2_10{publicstaticvoidm... 题目要求:编写程序,求满足下述条件的三位数:这种三位数等于它各位数字的立方和。我写的程序如下:

public class unite2_10
{
public static void main(String args[])
{
int a,sum=0,m=0;
for(int i=100;i<=999;i++)
{
m=i;
while(i!=0)
{
a=i%10;
sum+=a*a*a;
i=i/10;
}

if(m==sum)
{
System.out.println(sum);
}

}
}
}
展开
 我来答
程先生的小卖部
2012-07-21 · 超过15用户采纳过TA的回答
知道答主
回答量:66
采纳率:100%
帮助的人:39.2万
展开全部
是取模得出个十百位数字上的问题:
建立这样写,思路比较清晰。

public class Test{
public static void main(String[] args){
int gewei;
int shiwei;
int baiwei;
int lifang;
for(int i=100;i<1000;i++) {
gewei = i%10;
shiwei = (i%100-gewei)/10;
baiwei = (i-shiwei*10-gewei)/100;
lifang = gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei;
if(lifang == i) {
System.out.println("Value=" + i );
}
}
}
}
HZ也斯
2012-07-21 · TA获得超过287个赞
知道小有建树答主
回答量:260
采纳率:100%
帮助的人:185万
展开全部
sum的值你在for循环里面置零吧。不然你的sum值一直就加上去了的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wansong
2012-07-21 · 贡献了超过134个回答
知道答主
回答量:134
采纳率:0%
帮助的人:30.4万
展开全部
sum的问题。一次循环结束后sum应赋为0.
public class unite2_10
{
public static void main(String args[])
{
int a,sum=0,m=0;
for(int i=100;i<=999;i++)
{
m=i;
while(i!=0)
{
a=i%10;
sum+=a*a*a;
i=i/10;
}

if(m==sum)
{
System.out.println(sum);
}
sum=0;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-21
展开全部
水仙花数程序存在两个问题:
1.每个数的判断,sum需要再for里面重新置0;
2不要再循环中改变要判断的i值,这个影响for循环的自加.
修改如下:
public class unite2_10 {
public static void main(String args[]) {
int a, sum = 0, m = 0;
for (int i = 100; i <= 999; i++) {
sum = 0;
m = i;
while (m != 0) {
a = m % 10;
sum += a * a * a;
m = m / 10;
}
if (i == sum) {
System.out.println(sum);
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友79d024e
2012-07-21 · TA获得超过322个赞
知道答主
回答量:97
采纳率:0%
帮助的人:54.3万
展开全部
不晓得
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式