Java 字符串方形图案

标签 java string sequence

用户输入一个字符串,方法绘制一个正方形。 例如:

  • 对于 input= ram 方法绘制:
    r r r
    -a-
    米米
  • 对于 input= code 方法绘制:
    c c c c
    -o o-
    - d d -
    e e e e
  • 对于 input = coder 方法绘制:
    c c c c c
    -o o o-
    - - d - -
    -e e e-
    r r r r r

到目前为止,我已经成功地画了这样的东西:
c - - - c
- o - o -
- - d - -
-e-e-
r - - - r

使用此代码:

static void pattern(String n) {
        int len = n.length();

        for (int i = 0; i < len; i++) {
            for (int j = 0; j < len; j++) {
                if((i==j)||(i==len-j-1)) {
                    System.out.printf("%c ", n.charAt(i));
                } else {
                    System.out.printf("- ");
                }
            }
            System.out.printf("%n");
        }

    }

我只能使用 if((i==j)||(i==len-j-1)) 进行对角打印,但我不知道如何能够使它看起来像上面的例子。如何升级我的代码以正确绘制正方形?

最佳答案

static void pattern(String n) {
        int len = n.length();
for (int i = 0; i < len; i++) {
    for (int j = 0; j < len; j++) {
        if((i<j)&&(i>len-j-1) || (i>j)&&(i<len-j-1)) {
            System.out.printf("- ");

        } else  {
            System.out.printf("%c ", n.charAt(i));
        }
    }
    System.out.printf("%n");
}

第一个条件

 (i>j)&&(i<len-j-1)

选择以下部分

x x x x x x x
- x x x x x x
- - x x x x x
- - - x x x x
- - x x x x x
- x x x x x x
x x x x x x x

 (i>j)&&(i<len-j-1)

选择以下部分

x x x x x x x
x x x x x x -
x x x x x - -
x x x x - - -
x x x x x - -
x x x x x x -
x x x x x x x

关于Java 字符串方形图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259911/

相关文章:

java - Java 中的 Diamond Generic 和 Legacy

java - 添加jobStream实例

java - 如何在 Android Studio 中从 SimonVT 导入 MenuDrawer

string - 将包含 & 符号的公式插入单元格

haskell - Data.Sequence 中的 inits 和 tails 如何工作?

java - EntityManager 持久化时返回 NullPointerException

c++ - 什么类型的字符串最适合用于 Win32 和 DirectX?

java - 为什么我的字符串索引有时会超出范围?

C++类变量声明和使用顺序?

algorithm - 找到分钟。 "join"序列操作