黑马程序员技术交流社区
标题:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
[打印本页]
作者:
莫盛强
时间:
2015-12-2 15:47
标题:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
本帖最后由 莫盛强 于 2015-12-2 16:00 编辑
import java.util.Scann
复制代码
作者:
莫盛强
时间:
2015-12-2 16:00
import java.util.Scanner;
public class Test56 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入数字:");
int in = sc.nextInt();
StringBuilder sb = new StringBuilder();
int count = 0;
String str = method(sb, in,count);
System.out.println(in + "=" + str);
}
private static String method(StringBuilder sb, int in,int count) {
for (int i = 2; i <= in; i++) {
if (in % i == 0) {
count++;
if (i == in) {
sb.append(i);
break;
} else {
in = in / i;
sb.append(i).append("*");
return method(sb, in,count);
}
}
}
if (count == 1) {
sb.append("*").append(1);
}
return sb.toString();
}
}
复制代码
作者:
anuo
时间:
2015-12-3 09:32
楼主,里面有个sb是做什么用的,没看懂
作者:
莫盛强
时间:
2015-12-3 11:06
anuo 发表于 2015-12-3 09:32
楼主,里面有个sb是做什么用的,没看懂
StringBuilder和StringBuffer都是字符缓冲区。前者不安全,后者安全。里面有append()方法,这里解决了90=2*3*3*5格式的拼接。
作者:
1158147908
时间:
2015-12-7 23:30
这个题目好有技术水平呀
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2