如下求質因數的方法,想請教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
提交
取消