使用for循环在Java中打印模式

时间:2010-02-24 14:30:14

标签: java for-loop

我试图在Java中使用for循环打印出这个模式,但我有点卡住了。

zzzzz   
azzzz  
aazzz  
aaazz  
aaaaz  
aaaaa  

我可以打印:

 a  
 aa  
 aaa  
 aaaa  
 aaaaa  

使用:

String i = " ";   
int a = 0;  
for (i="a";i.length()<=5;i=i+"a")  
    System.out.println(i);

 zzzzz  
 zzzz  
 zzz  
 zz  
 z  

使用:

String i = " ";   
for (i="zzzzz";i.length()>0;i=i.substring(0,i.length()-1))  
    System.out.println(i); 

但我无法弄清楚如何将它们结合起来。我正在考虑替换i的子字符串,并且每次都将结束索引的值增加一个,但不确定是否对其进行编码。我从这样的事情开始:

String i = " ";  
String b = " ";  
for (i="zzzzz";i="aaaaa";i=i.replace(i.substring(0,))  
    System.out.println(i);  

有什么想法吗?

7 个答案:

答案 0 :(得分:8)

伪代码:

for(i <- 0 to 5) {
  print( i times "a" followed by (5 - i) times "z")
  print a new line
}

现在用Java实现它。

答案 1 :(得分:6)

您可以使用循环

递增或递减多个变量
for (int a = 0, z = 5; a <= 5 ; a++, z-- )
{
  System.out.println(a+" "+z);
}

会输出

0 5
1 4
2 3
3 2
4 1
5 0

答案 2 :(得分:2)

在java中:

public class Pattern {

    public static void main(String [] args) {

        for(int i=0;i<6;i++) { //This works out the number of lines
            String line = "";
                for(int a=0;a<i;a++) {
                    line+="a";
                }

                for(int z=0;z<(5-i);z++) {
                    line+="z";
                }

                System.out.println(line);       
        }

    }

}

答案 3 :(得分:1)

Z = 5
A = 0

while ( Z >= 0 )
{
  for ( i = 0; i < A; i++ ) print 'A';
  for ( i = 0; i < Z; i++ ) print 'Z';
  print newline;
  ++A;
  --Z;
}

是一种方式。

答案 4 :(得分:1)

String AA = "aaaaa";
String ZZ = "zzzzz";

for (int i = 0; i <= 5; i++) {
    System.out.println(AA.substring(i) + ZZ.substring(5 - i));
}

答案 5 :(得分:0)

使用一个附加变量来保持a / z边框的位置。在每次迭代中增加该变量的值。

答案 6 :(得分:0)

您可以尝试以下方法:

public class pattern2
{
    public static void main()
    {
        int i,j,k,num=0;
        for(i=1;i<=6;i++)
        {
            for(j=1;j<=num;j++)
            System.out.print("a");
            for(k=6;k>i;k--)
                System.out.print("z");
            System.out.println();
            num++;
        }
    }
}