java 三角依次递增在递减_java中用for循环怎样打印三角行啊,主要是不理解什么情况外层循环递增什么时候递减,如等腰三角形...

java中用for循环怎样打印三角行啊,主要是不理解什么情况外层循环递增什么时候递减,如等腰三角形

关注:168  答案:2  mip版

解决时间 2021-01-28 19:40

e6cb1a03ad541b3098697807b7bf1798.png

提问者耍硪ミ倪配么

2021-01-28 03:20

java中用for循环怎样打印三角行啊,主要是不理解什么情况外层循环递增什么时候递减,如等腰三角形外层循环递增,而倒直角三角形外层循环递减,原理是什么啊,求解啊?

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家霸气ヽ爵爷

2021-01-28 03:55

for(int i=1;i<=7;i=i+2)

{

for(int k=1;k<=(7-i)/2;k++)

{

System.out.print(" ");

}

for(int j=1;j<=i;j++)

{

System.out.print("*");

}

System.out.println();

}

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼落日海湾

2021-01-28 04:56

public class Test1

{

public static void main(String[] params)

{

String str = sanjiao(11);

System.out.println(str);

String str2 = sijiao(11);

System.out.println(str2);

}

public static String sijiao(int num)

{

StringBuffer sb = new StringBuffer();

for (int i = 1; i <= num; i++)

{

if (i == 1 || i == num)

{

String str = numStr("*", num);

sb.append(str + "\n");

}

else if (i % 2 == 0)

{

}

else if (i % 2 == 1)

{

String str = middlePad("*", ' ', num - 2);

sb.append(str + "\n");

}

}

return sb.toString();

}

public static String sanjiao(int num)

{

StringBuffer sb = new StringBuffer();

for (int i = 1; i <= num; i++)

{

if (i == num)

{

String str = numStr("*", num);

sb.append(str + "\n");

}

else if (i == 1)

{

int j = (num - i)/2;

String str = leftPad("*", ' ', j);

str = rightPad(str, ' ', j);

sb.append(str + "\n");

}

else if (i % 2 == 0)

{

}

else if (i % 2 == 1)

{

int j = (num - i)/2;

String str = middlePad("*", ' ', i - 2);

str = leftPad(str, ' ', j);

str = rightPad(str, ' ', j);

sb.append(str + "\n");

}

}

return sb.toString();

}

public static String numStr(String str, int num)

{

StringBuffer sb = new StringBuffer();

for (int i = 0; i < num; i++)

{

sb.append(str);

}

return sb.toString();

}

public static String leftPad(String str, char c, int num)

{

StringBuffer sb = new StringBuffer();

for (int i = 0; i < num; i++)

{

sb.append(c);

}

sb.append(str);

return sb.toString();

}

public static String rightPad(String str, char c, int num)

{

StringBuffer sb = new StringBuffer();

sb.append(str);

for (int i = 0; i < num; i++)

{

sb.append(c);

}

return sb.toString();

}

public static String middlePad(String str, char c, int num)

{

StringBuffer sb = new StringBuffer();

sb.append(str);

for (int i = 0; i < num; i++)

{

sb.append(c);

}

sb.append(str);

return sb.toString();

}

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值