gpt4 book ai didi

java - 如何在java中调整字符数组的文本?

转载 作者:行者123 更新时间:2023-12-02 06:59:37 25 4
gpt4 key购买 nike

我正在尝试返回一个已经对齐的字符数组左、右和中心。

假设每行最多有 6 个字符。合理文本中的相应输出将是。

Left:
How is
your
day

Center:
How is
your
day

Right:
How is
your
day

通过使用 for 循环,我在超出数组内最大限制 6 的行之前添加了一个 '\n'。

Example[3] = '\n';

我怎样才能返回数组,以便它以合理的格式输出?

我做了一些搜索,我所能找到的只是如何证明字符串的合理性。

抱歉,格式太糟糕了。不知道如何格式化它。

最佳答案

这是非常基本的示例...

它基本上用空格填充String值以提供对齐...

public class Align {

public static void main(String[] args) {
String values[] = new String[]{
"How is",
"your",
"day"};

int maxLength = 0;
for (String value : values) {
maxLength = Math.max(value.length(), maxLength);
}

System.out.println("Left:");
for (String value : values) {
System.out.println("[" + leftPad(value, maxLength) + "]");
}
System.out.println("\nRight:");
for (String value : values) {
System.out.println("[" + rightPad(value, maxLength) + "]");
}
System.out.println("\nCenter:");
for (String value : values) {
System.out.println("[" + centerPad(value, maxLength) + "]");
}
}

public static String leftPad(String sValue, int iMinLength) {

StringBuilder sb = new StringBuilder(iMinLength);
sb.append(sValue);

while (sb.length() < iMinLength) {

sb.append(" ");

}

return sb.toString();

}

public static String rightPad(String sValue, int iMinLength) {

StringBuilder sb = new StringBuilder(iMinLength);
sb.append(sValue);

while (sb.length() < iMinLength) {

sb.insert(0, " ");

}

return sb.toString();

}

public static String centerPad(String sValue, int iMinLength) {

if (sValue.length() < iMinLength) {

int length = sValue.length();
int left = (iMinLength - sValue.length()) / 2;
int right = iMinLength - sValue.length() - left;

StringBuilder sb = new StringBuilder(sValue);
for (int index = 0; index < left; index++) {
sb.insert(0, " ");
}
for (int index = 0; index < right; index++) {
sb.append(" ");
}

sValue = sb.toString();

}

return sValue;

}
}

它只是输出...

Left:
[How is]
[your ]
[day ]

Right:
[How is]
[ your]
[ day]

Center:
[How is]
[ your ]
[ day ]

关于java - 如何在java中调整字符数组的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16828341/

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