//输出表达式那一段改成这样就可以了。
专注于为中小企业提供成都网站设计、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业秦安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
System.out.print("该数字不是素数,因式分解为:"+number+"=");
for(int j=2;number!=1;)
{
if(number%j==0)
{
number/=j;
System.out.print(j);
j = 2;
if(number != 1) {
System.out.print("*");
}
continue;
}
j++;
}
public class Test2 {
public static void main(String[] args) {
Test2 t = new Test2();
Scanner in=new Scanner(System.in);
System.out.println("输入一个数:");
int number=in.nextInt();
System.out.println(t.A(number));
}
public String A(int mun)// 带一个需要分解的整数
{
String s = mun + "=";// 输出的字符串
int smun = mun;
for (int i = 2; i = mun; i++)// 从2开始循环。
{
if (smun % i == 0)// 判断是否整除
{
smun = smun / i;// 整除就将除后的值重新赋值
if (smun == 1)// 如果赋值后的变量等于1,说明整除完毕。
{
if (mun / i == 1)// 如果原先输入的整数也能被这个数除完,说明只有一个分因式
{
s += i + "*" + 1;
break;
}
s += i;
break;
}
s += i + "*";
i--;// 数能被整除,却没有除完,从该数重新循环
}
}
return s;// 返回所得字符串。
}
}
引用30……bai方法!
其实不需要那么麻烦的,这个就可以了:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Input number:");
int input = scan.nextInt();
int i = 2;
int count = 0;
System.out.print(input + "=");
while (input = i) {
if (input % i == 0) {
if (count 0) {
System.out.print("*");
}
input = input/i;
System.out.print(i);
count++;
}
else {
i++;
}
}
if (count == 1) {
System.out.print("*1");
}
else if (count 1) {
System.out.print("1*1");
}
System.out.println();
}
}