java - 通过接受字符串使用 for 循环打印模式

标签 java string

示例输入字符串:

bluej

输出:

b***b
*l*l*
**u**
*e*e*
j***j

(其中“*”表示空格)

到目前为止我已经做了这么多:

int n = s.length() - 1;
int i, j;
for (i = 0; i <= n; i++) {
    for (j = 0; j <= (n + 1); j++) {
        if (i == j || i == n - (j - 1))
            System.out.print(s.charAt(i));
        else {
            System.out.print("*");
        }
    }
    System.out.println();
}

但输出是:

b****b
*l**l*
**uu**
**ee**
*j**j*

最佳答案

只需替换 i == n-(j-1)i == n - j第二个 for 循环 for (j = 0; j <= n+1; j++)for (j = 0; j <= n; j++) :

int n = s.length() - 1;
int i, j;
for (i = 0; i <= n; i++) {
    for (j = 0; j <= n; j++) {
        if (i == j || i == n - j)
            System.out.print(s.charAt(i));
        else {
            System.out.print("*");
        }
    }
    System.out.println();
}

关于java - 通过接受字符串使用 for 循环打印模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31892831/

相关文章:

linux - java运行jar文件失败不退出回提示

java - 在代码中设置String的资源ID

java - 我怎样才能使选择升序和降序问题防错?

java - 将默认浏览器作为字符串返回的方法?

Java:从用户输入中获取一个字符串并将其存储在数组中,对应于一个整数。案例:员工姓名和 ID

c++ - 小线程++ : getting thread ID

string - 如何在 Perl 中将凯撒密码的字母分配给数字?

c - atoi 函数的未定义行为

c - 如何在C语言中查找文本文件中的字符串?

java - 如何将 Camunda 引擎和 admin/tasklist/cockpit 嵌入到我自己的 Spring Security webapp 中?