设计Java类以正确呈现分数

时间:2013-02-22 02:18:47

标签: java fractions

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

我迷失了一部分。

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

例如:

3/4分数为3,连字符下为连字符,连字符为

和5/50000之类的东西将是5个中间的5个连字符中的第3个,然后是连字符下的50000。

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

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

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

1 个答案:

答案 0 :(得分: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, '-');