如下求质因数的方法,想请教while循环内代码的意义。另外,第一个break的作用是跳出for循环还是整个while循环?应该是for循环对吧,第二个break就是用来跳出while循环的对吧。public static void main(String[] args) { System.out.println("求质因数:"); Scanner input = new Scanner(System.in); int num = input.nextInt(); System.out.print(num + "="); while(true){ for(int i=2;i<=num;i++){ if(num%i==0){ System.out.print(i); //i即为素因子,可传至数组另存 num /= i; break; } } if(num==1) break; System.out.print("*"); } }
1 回答
不偏不易
TA贡献96条经验 获得超118个赞
你想要看每一步是什么作用,很简单,学会用Debug,eclipse里的设置断点,和dubug启动,一步步走下去,就可以清楚的了解每一步的作用了。
while (true) {// 一直循环 for (int i = 2; i <= num; i++) {// 从2开始找 if (num % i == 0) {// 能否整除 System.out.print(i); // i即为素因子,可传至数组另存 num /= i;// num=num/i; break;// 获得一个因子后,重新开始for循环,再次从2开始找 } } if (num == 1)//没有其他因子时 break;//结束while循环 System.out.print("*"); }
另外不知道你写代码的时候有没有像这样对齐括号,不然会对阅读造成障碍。
eclipse Ctrl+Shift+F自动格式化
添加回答
举报
0/150
提交
取消