Java求质因数方法

如下求质因数的方法,想请教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("*");

}

}


fenkapian
浏览 1843回答 1
1回答

不偏不易

你想要看每一步是什么作用,很简单,学会用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自动格式化
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java