java求1000之内完数,我写好了,可是没有任何输出结果,谁能帮我看一下,谢谢啦 public class Qiu_wanshu { public static void main(String args[]){ int m,n; int t=0; for(m=1;m<1000;m++) { for(n=1;n<m;n++) { if(m%n==0) { t=t+n; } } if(m==t) System.out.print(m); } }}运行之后没有输出结果,高手看一下问题出在哪里。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int=0 放到第一个for里面去 打错。。int t=0; 放到第一个for里去 为什么要放在for哩,和C的差别能说说嘛 因为这里t的作用是记录m因子的和,然后用t与m做比较,相等的输出。所以t在m没循环一次的时候应该初始掉。不然t就一直都是累加的状态,m=1-5的所有因子都会被加到t里面去,这样t永远不可能等于m,所以就不会有打印。C不太懂,不过感觉C里这样做也是输出不了的。 二元二次方程组怎么解 X的64幂 只能用8次乘法 怎么实现? 求一题代码 晕了。运行的程序竟然把系统分区空间耗尽。。 输出不是成员变量不对吗? 大家帮我看看怎么会抛异常能应该不会呀! 如何有java实现文件拖放功能~ 怎样添加 JScrollPane的事件 谢谢 现在学java还有没有必要? 一个WeakHashMap的问题 正则表达式如何匹配所有字符,包括换行符? 急!!the method getTextContent() is undefined for the type Element
int t=0; 放到第一个for里去
因为这里t的作用是记录m因子的和,然后用t与m做比较,相等的输出。
所以t在m没循环一次的时候应该初始掉。不然t就一直都是累加的状态,m=1-5的所有因子都会被加到t里面去,这样t永远不可能等于m,所以就不会有打印。C不太懂,不过感觉C里这样做也是输出不了的。