A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 莫盛强 于 2015-12-2 16:00 编辑
  1. import java.util.Scann
复制代码

4 个回复

倒序浏览
  1. import java.util.Scanner;

  2. public class Test56 {
  3.         public static void main(String[] args) {
  4.                 Scanner sc = new Scanner(System.in);
  5.                 System.out.println("输入数字:");
  6.                 int in = sc.nextInt();
  7.                 StringBuilder sb = new StringBuilder();
  8.                 int count = 0;
  9.                 String str = method(sb, in,count);
  10.                 System.out.println(in + "=" + str);
  11.         }

  12.         private static String method(StringBuilder sb, int in,int count) {

  13.                 for (int i = 2; i <= in; i++) {
  14.                         if (in % i == 0) {
  15.                                 count++;
  16.                                 if (i == in) {
  17.                                         sb.append(i);
  18.                                         break;
  19.                                 } else {
  20.                                         in = in / i;
  21.                                         sb.append(i).append("*");
  22.                                         return method(sb, in,count);
  23.                                 }
  24.                         }
  25.                 }
  26.                 if (count == 1) {
  27.                         sb.append("*").append(1);
  28.                 }
  29.                 return sb.toString();
  30.         }
  31. }
复制代码
回复 使用道具 举报
楼主,里面有个sb是做什么用的,没看懂
回复 使用道具 举报
anuo 发表于 2015-12-3 09:32
楼主,里面有个sb是做什么用的,没看懂

StringBuilder和StringBuffer都是字符缓冲区。前者不安全,后者安全。里面有append()方法,这里解决了90=2*3*3*5格式的拼接。
回复 使用道具 举报
这个题目好有技术水平呀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马