Java基础题问题(下面是源码)

package test;

import java.util.Scanner;

public class Test1 {

	public static void depose(int n) {
		for (int k = 2; k <= n; k++) {
			if (k == n) {
				System.out.println(n);
			} else {
				if (n % k == 0) {
					n /= k;
					System.out.print(k + "*");
					depose(n);
					break;
				}
			}
		}
	}

	public static void main(String[] args) {
		System.out.println("请输入n的值:");
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		System.out.print(n + "=");
		depose(n);
	}

}

http://img.mukewang.com/5921848d00017cfd19170914.jpgbreak;语句在这里是干什么的,为什么方法执行完了又跳到break语句了,求详细解答!!!

爱笑的毛毛虫
浏览 1457回答 1
1回答

hunterlodge

显然,这里的break是中断for循环,因为已经找到了当前的k是n的因子,并通过递归寻找n和k的商的因子,因此当前这个循环不必要继续了
打开App,查看更多内容
随时随地看视频慕课网APP