出于个人目的,我正在增强Java技能,
我想知道如何在Java中制作此算法:
* 2 3 4 5
* * 3 4 5
* * * 4 5
* * * * 5
* * * * *
* * * * *
* * * * 5
* * * 4 5
* * 3 4 5
* 2 3 4 5
到目前为止,我还是做到了:
*
**
***
****
*****
for (int i = 1; i <=5 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print("*");
}
System.out.println(" ");
}
我想做点更努力的事情。
答案 0 :(得分:2)
编程的方法是将问题分解为较小的块,并一次处理一个块。在进行下一个测试之前,请务必先测试每个测试块。
使星星行变得更长。您已经做到了。
使星星排越来越短。
使数字行递增。
使数字行减少。
将减少的数字附加到增加的星星上。
将增加的数字附加到减少的星星上。
将5和6放在一起。
答案 1 :(得分:1)
for (int i = 1; i <=5 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print("*");
}
for (int k = i+1; k <= 5 ; k++) {
System.out.print(k);
}
System.out.println(" ");
}
for (int i = 5; i > 0 ; i--) {
for (int j = 1; j <=i ; j++) {
System.out.print("*");
}
for (int k = i+1; k <= 5 ; k++) {
System.out.print(k);
}
System.out.println(" ");
}
我不知道这是否是最好的方法,但它似乎有效。 我会尝试另一种方式。总是好学。
答案 2 :(得分:1)
这应该有所帮助:
public static void printTree()
{
int index = 0;
for(; index < 5; index++)
{
for(int j = 0; j < 5; j++)
{
if(j <= index)
{
System.out.print("*");
}
else
{
System.out.print(j + 1);
}
}
System.out.println();
}
for(; index > 0; index--)
{
for(int j = 0; j < 5; j++)
{
if(j < index)
{
System.out.print("*");
}
else
{
System.out.print(j + 1);
}
}
System.out.println();
}
}