gpt4 book ai didi

java - 在 Java 中使用嵌套循环的三角形词模式

转载 作者:搜寻专家 更新时间:2023-11-01 03:00:56 25 4
gpt4 key购买 nike

对于这个作业,输入任何单词后,它将以如下所示的模式打印(在本例中,单词是计算机):

       C
O O
M M
P P
U U
T T
E E
RETUPMOCOMPUTER

目前,我的代码是这样的:

    String output = "";
for (int a = word.length()-1; a >= 1; a--)
{
for (int b = 0; b < word.length(); b++)
{
out.print(" ");
}
out.println(word.charAt(word.length()-1-a));
}

for (int c = 0; c < word.length(); c++)
{
out.print(word.charAt(word.length()-1-c));
}
out.print(word.substring(1));
return output + "\n";

我的代码目前的输出是:

        C
O
M
P
U
T
E
RETUPMOCOMPUTER

非常感谢任何建议或提示,提前致谢!

最佳答案

逻辑很简单,首先尝试创建最后一行,使用 StringBuilderreverse。然后打印从第一行到最后一行的每一行。

最后一行的情况很简单。

firstlast line - 1,我们只需要打印距离中心为0,1,2 ...的那些字符最后一行。

    public void printTriangle(String input) {
String tmp = input.substring(1);//Take the suffix
StringBuilder builder = new StringBuilder(tmp);
builder = builder.reverse().append(input);//Reverse, then append it
String line = builder.toString();//This is the last line
for(int i = 0; i < input.length(); i++){
for(int j = 0; j < line.length(); j++){
//Print the last line, or those that have distance equals i to the center of the last line
if(i + 1 == input.length() || Math.abs(j - line.length()/2) == i){
System.out.print(line.charAt(j));
}else{
System.out.print(" ");
}
}
System.out.println();
}
}

输入

COMPUTER

输出

       C       
O O
M M
P P
U U
T T
E E
RETUPMOCOMPUTER

输入

STACKOVERFLOW

输出

            S            
T T
A A
C C
K K
O O
V V
E E
R R
F F
L L
O O
WOLFREVOKCATSTACKOVERFLOW

关于java - 在 Java 中使用嵌套循环的三角形词模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com