我需要帮助
1******
12*****
123****
1234***
12345**
123456*
1234567
使用3 for循环,这将完成。 我试过这个
public class Pattren {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int i,j,k;
for (i = 1; i <= 7; i++)
{
for (j = 1; j <= i; ++j)
{
System.out.print((j)+("\n"));
for (k = 7 - i; k >= 1; k--)
{
System.out.print("* ");
}
}
}
}
}
但它存在一些逻辑问题。我需要改进代码。 我得到了这个输出。
1
* * * * * * 1
* * * * * 2
* * * * * 1
* * * * 2
* * * * 3
* * * * 1
* * * 2
* * * 3
* * * 4
* * * 1
* * 2
* * 3
* * 4
* * 5
* * 1
* 2
* 3
* 4
* 5
* 6
* 1
2
3
4
5
6
7
答案 0 :(得分:0)
更简单的版本是
int i,j;
for (i = 1; i <= 7; i++)
{
for (j = 1; j <= 7; ++j)
{
if (j <= i) {
System.out.print(j);
}
else {
System.out.print("*");
}
}
System.out.println();
}
<强>输出强>
1******
12*****
123****
1234***
12345**
123456*
1234567
答案 1 :(得分:0)
以下是一个代码行数少得多的解决方案:
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
String s = "";
for(int i=1; i<=7; i++){
s += i;
sb.append(String.format("%-7s", s).replace(" ", "*")).append("\n");
}
System.out.println(sb.toString());
}