java中用for循环怎样打印三角行啊,主要是不理解什么情况外层循环递增什么时候递减,如等腰三角形
关注:168 答案:2 mip版
解决时间 2021-01-28 19:40
提问者耍硪ミ倪配么
2021-01-28 03:20
java中用for循环怎样打印三角行啊,主要是不理解什么情况外层循环递增什么时候递减,如等腰三角形外层循环递增,而倒直角三角形外层循环递减,原理是什么啊,求解啊?
最佳答案
二级知识专家霸气ヽ爵爷
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();
}
全部回答
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();
}
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看