所以我一直试图解决这个问题,但没有成功。所以,我想创建一个打印出以下三角形的程序。
**********
*********
********
*******
******
*****
****
***
**
*
这是我目前的代码。
public class PatternC
{
public static void main(String[] args)
{
int len = 1;
int k;
System.out.println("**********");
for (int row = 9; row > len; row--)
{
for(int i=0; i<row; i++)
System.out.print("*");
System.out.println("");
}
for (int end = 0; end<1; end++)
{
System.out.format("%10s", "*");
}
}
}
但程序打印出来了!
**********
*********
********
*******
******
*****
****
***
**
*
我做的一切都正确,除了我只需要将中间星对齐,最初从右到左对齐。如果您有任何想法,请帮助我。我已经尝试过打印格式,但它不起作用。如果你也可以彻底解释它,我将非常感激。
答案 0 :(得分:3)
也许空间会让你失望。
您将如何打印以下图案?
**********
X*********
XX********
XXX*******
XXXX******
XXXXX*****
XXXXXX****
XXXXXXX***
XXXXXXXX**
XXXXXXXXX*
它基本上是:
Print 0 X's, then 10 *'s
Print 1 X, then 9 *'s
Print 2 X's, then 8 *'s
.
.
.
Print 9 X's, then 1 *
一旦你得到它,替换&#34; X&#34;在您的代码中使用空格字符,并且您已获得它。
答案 1 :(得分:1)
我的解决方案是:
public static void main(String[] args) {
int size = 6;
for(int i = 0; i < size; i++){
for(int j = 0; j < i; j++)
System.out.print(" ");
for(int j = 0; j < size - i; j++)
System.out.print("*");
System.out.println();
}
}
这里我输出的是空格,(在第一行0,最后一个大小 - 1), 然后大小 - 我明星。 (在第一行中,在最后一行中);
输出:
******
*****
****
***
**
*
答案 2 :(得分:0)
好的家伙我已经弄清楚了......
public class PatternC
{
public static void main(String[] args)
{
for (int r = 0; r < 10; r++)
{
for (int i = 0; i < 10; i++)
{
if (i >= r)
{
System.out.print("*");
}
else if (i < r)
{
System.out.print(" ");
}
}
System.out.println();
}
}
}
这是我得到的输出!
**********
*********
********
*******
******
*****
****
***
**
*