我是一名java学生,我很难过,尝试使用for循环来创建一个颠倒的三角形。
这就是我现在的代码,一个直线三角形。我怎么能像它一样制造另一个,但颠倒过来?
for (int i=1; i<20; i += 2)
{
for (int k=10; k < (0 - i / 2); k++)
{
System.out.print(" ");
}
for (int j=0; j<i; j++)
{
System.out.print("*");
}
System.out.println("");
}
答案 0 :(得分:3)
这有点棘手吗?
只需更改
for (int i=1; i<20; i += 2)
要
for (int i = 19; i >0; i -= 2)
代码。
for (int i = 19; i > 0; i -= 2) {
for (int k = 10; k < (0 - i / 2); k++) {
System.out.print(" ");
}
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
Out put:
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*
答案 1 :(得分:0)
int c = 2*lines;
for (int i = lines-1; i>=0; i--)
{
for (int j = i; j < lines; j++)
{
System.out.print(" ");
}
for (int k = 1; k <= c; k++)
{
if (k % 2 == 0)
{
System.out.print(" ");
}
else
{
System.out.print(symbol);
}
}
System.out.print("\n");
c -= 2;
}
答案 2 :(得分:0)
您所要做的就是更改第3个循环
for (int j=0; j<i; j++)
{
System.out.print("*");
}
在您的代码中,您打印1星,3星,5星等等...(我实际上是明星)
要使其颠倒,请以最大值启动j并减小它以便打印n - i星
for (int j = 20 - i; j > 0; j--)
{
System.out.print("*");
}
答案 3 :(得分:0)
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
for (int i = 1; i < 20; i += 2) {
for (int k = 10; k < (0 - i / 2); k++) {
sb.append(" ");
}
for (int j = 0; j < i; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.println(sb.reverse());
}
但是你可能应该学习一些关于循环和算法的知识。