黑马程序员技术交流社区

标题: 将一个正整数分解质因数,例:90,打印出90=2*3*3*5 [打印本页]

作者: 迷途羔羊    时间: 2015-9-1 09:37
标题: 将一个正整数分解质因数,例:90,打印出90=2*3*3*5
package com.itheima2;

import java.util.Scanner;

/**
* 将一个正整数分解质因数,例:90,打印出90=2*3*3*5
* @author 良
*
*/
public class Test5 {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入一个数:");
                int num=sc.nextInt();
                print(num);
        }
        public static void print(int num){
                StringBuilder sb=new StringBuilder();
                StringBuilder sb2=new StringBuilder();
                if(num>0){
                        get(num,sb);
                }else{
                        System.out.println("请输入正整数");
                }
                String[] strs = sb.toString().split(",");
                for(int x=0;x<strs.length;x++){
                        if(x==0){
                                sb2.append(num+"="+strs[0]);
                        }else{
                                sb2.append("*"+strs[x]);
                        }
                       
                }
                System.out.println(sb2.toString());
        }
        public static void get(int num,StringBuilder sb){
                int x=2;
                while(x<num){
                        if(num%x==0){
                                sb.append(x+",");
                                num=num/x;
                               
                               
                        }else{
                                x++;
                        }
                }
        }
}

作者: 迷途羔羊    时间: 2015-9-1 09:38
求改正。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2