gpt4 book ai didi

java - 如何在新行上设置每个单词?

转载 作者:行者123 更新时间:2023-11-30 07:44:18 24 4
gpt4 key购买 nike

如何将输入字符串的每个单词设置为一个新行并将输出放在 ASCII 框中?

我有以下代码:

import java.util.Scanner;


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

System.out.print("Enter a line of text: ");
String line = in.nextLine();

printBox(line);

}

// Returns the length of the longest token in the line.
private static int getMaxLength(String... strings) {
int len = Integer.MIN_VALUE;
for (String str : strings) {
len = Math.max(str.length(), len);
}
return len;
}

// Pad the strings with spaces.
private static String padString(String str, int len) {
StringBuilder sb = new StringBuilder(str);
return sb.append(fill(' ', len - str.length())).toString();
}

// Fill the string to the amount determined in padString.
private static String fill(char ch, int len) {
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
sb.append(ch);
}
return sb.toString();
}


// Print the box
public static void printBox(String... strings) {
int maxBoxWidth = getMaxLength(strings);
String line = "+" + fill('-', maxBoxWidth + 2) + "+";
System.out.println(line);
for (String str : strings) {
System.out.printf("| %s |%n", padString(str, maxBoxWidth));
}
System.out.println(line);
}


}

如果我尝试拆分字符串并将“”​​替换为“\n”,那么只有一个“|”添加到第一行和最后一行。

关于如何实现这一点有什么建议吗?

最佳答案

将您的调用更改为 printBox。您目前传递一个名为 lineString,而不是通过在空格上拆分行来传递一组 String(s)。喜欢,

printBox(line.split(" "));

有了这个改变,当我输入“Hello world Goodbye world”时,我得到了

+---------+
| Hello |
| world |
| Goodbye |
| world |
+---------+

关于java - 如何在新行上设置每个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694086/

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