Java使用单维数组打印特定模式

时间:2016-02-20 07:38:01

标签: java arrays sorting

我必须使用单维数组打印以下模式。

您可以将->以及|作为字符或字符串以及硬编码值。

最后我只想按如下方式打印模式:

--->     |
 --->    |
  --->   |
   --->  |
    ---> |
     --->|
>     ---|
->     --|
-->     -|
--->     |

我试图这样做:

public class SnakeGame { 
    public static void main(String[] args) 
    {
        char[] sn = new char[10]; 
        int i = 0, temp, j = 3; 
        for(i = 0; i < sn.length; i++) {
            /* Something Here */ 
        }
    } 
}

我无法完成它。请帮帮我。

2 个答案:

答案 0 :(得分:3)

这是一种方法:

public static void main (String[] args)
{
    String str = "--->     ";
    char[] chr = str.toCharArray();

    /* Print Pattern */
    for(int i = 0; i <= 9; i++) {
        System.out.println(str + "|");
        str = new StringBuilder().append(chr[8]).append(str.substring(0, 8)).toString();
        chr = str.toCharArray();
    }
}

输出:

--->     |
 --->    |
  --->   |
   --->  |
    ---> |
     --->|
>     ---|
->     --|
-->     -|
--->     |

答案 1 :(得分:0)

试试这个。

char[] pat = {'-', '-', '-', '>', ' ', ' ', ' ',  ' ', ' '};
int len = pat.length;

for(int i = 9; i >= 0; i--) {
    for (int j = 0; j < len; ++j)
        System.out.print(pat[(i + j) % len]);
    System.out.println('|');
}