怎么去掉最后表达式的那个*号

Itachi00000 2011-08-02 08:42:04
//题目:将一个正整数n分解质因数。例如:输入90,打印出90=2*3*3*5。
class T4{
public static void main(String[] args){
T4 t4 = new T4();
t4.ZhiYinShu(90);
}
private void ZhiYinShu(int n){
int k = 2;
//1.如果n等于最小的质因数k,则直接打印输出n;
if(n==k){
System.out.println("n=2");
}
//2.如果n不等于k,则用n除以k,并判断是否能整除;
else{
System.out.print(n+"=");
for(int i=2;i<=n;i++){
if(n%i==0){
//2.1如果能整除,则把商赋给n,并重复上一步;
n = n/i;
System.out.print(i+"*");
i--;
}
//2.2如果不能整除,则执行k+1,重复上一步;
}
}
}
}
最后结果显示为:90=2*3*3*5*,怎么去掉最后那个*号???
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanyu113 2011-08-03
  • 打赏
  • 举报
回复
太长了,没具体看。你在最后的时候可以加判断:if(i==n) System.out.print(i);
else System.out.print(i+"*");
Itachi00000 2011-08-03
  • 打赏
  • 举报
回复
谢谢楼上,问题解决了
qybao 2011-08-03
  • 打赏
  • 举报
回复
class T4{
public static void main(String[] args){
T4 t4 = new T4();
t4.ZhiYinShu(90);
}
private void ZhiYinShu(int n){
int k = 2;
//1.如果n等于最小的质因数k,则直接打印输出n;
if(n==k){
System.out.println("n=2");
}
//2.如果n不等于k,则用n除以k,并判断是否能整除;
else{
System.out.print(n+"=");
for(int i=2;i<=n;i++){
if(n%i==0){
//2.1如果能整除,则把商赋给n,并重复上一步;
if (n==i) { //最后一个数的时候不打印*
System.out.print(i);
} else {
System.out.print(i+"*"); //否则打印*
}
n = n/i;
//System.out.print(i+"*");
i--;
}
//2.2如果不能整除,则执行k+1,重复上一步;
}
}
}
}
myjavauser 2011-08-03
  • 打赏
  • 举报
回复
用字符串函数substring,少取一位

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧