gpt4 book ai didi

java - 根据用户输入打印菱形图案

转载 作者:行者123 更新时间:2023-11-30 07:48:39 25 4
gpt4 key购买 nike

我有一个任务要求用户输入(用户名),然后打印出一个菱形图案。例如:如果用户名为 Thomas,则输出应如下所示:

T
Th
Tho
Thom
Thoma
Thomas
homas
omas
mas
as
s

到目前为止,这是我的代码。我在使用第二个 for 循环时遇到问题。我可以很容易地打印出“Thomas”之前的行,但我不知道如何在前面打印空格,以便单词的末尾位于同一位置。

import java.util.Scanner;

public class wordRhombus {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

System.out.print("Enter your name: ");
String name = sc.nextLine();
int enteredNamesLength = name.length();

for (int i = 0; i <= enteredNamesLength; i++) {
System.out.println(name.substring(0, (int) i));

for (int j = 1, k = 1; j <= enteredNamesLength; i++, k++) {
System.out.println(k * " " + name.substring(j, enteredNamesLength));
}
}
}
}

最佳答案

我认为必须有一个 for 循环来像您所做的那样打印名称,然后是另一个 for 空格并在同一个循环中打印子字符串。

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = sc.nextLine();
int enteredNamesLength = name.length();

for (int i = 0; i <= enteredNamesLength; i++) {
System.out.println(name.substring(0, (int) i));
}

for(int i = 1;i <= enteredNamesLength; i++ ) {
for(int j = 0;j < i; j++) {
System.out.print(" ");
}
System.out.println(name.substring(i, enteredNamesLength));
}
}

关于java - 根据用户输入打印菱形图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48972842/

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