0

我创建了一个分数类,它可以执行各种操作,例如加法、乘法、除法、减法、最大公分母等......

有一部分我迷路了。

我需要创建一个方法,在分母上返回分子的字符串版本,使用连字符将它们分开,我需要连字符等于分母的长度,并且分子要居中。

例如:

分数 3/4 将是 3,其下有一个连字符,而 4 在连字符下

像 5/50000 这样的东西将是 5 居中于 5 个连字符中的第 3 个之上,然后是连字符下的 50000。

为了计算我需要的连字符数,我想出了:

int hyphenLength = String.valueOf(this.denominator).length();

到目前为止,我唯一想做的就是在 String 中运行一个 for 循环,但我不知道该怎么做。

4

1 回答 1

0

如果您只是问“如何根据 int 值创建 n 个连字符”,您可以考虑以下一些方法:

Java中没有直接的方法可以做到。您有一些方法可以做,最简单的方法是如您所说,通过 for 循环:

for (int i = 0; i < hyphenLength; ++i) {
  resultStringBuilder.append('-');
}

另一种方法是使用 Arrays.fill():

char[] hyphenArray = new char[hyphenLength];
Arrays.fill(hyphenArray, '-');
String resultString = new String(hyphenArray);

如果您可以使用 Apache Commons Langs,您可以使用 StringUtils.leftPad() 或 rightPad():

String resultString = StringUtils.leftPad("myData", hyphenLength, '-');
于 2013-02-22T02:34:19.547 回答