我正在尝试制作一个程序,该程序根据调用的 intlength
向名为的变量添加一定数量的 9 nines
。例如,如果length
是4,那么我想nines
等于9999。如果length
是7,我想nines
等于9999999。 的值length
需要对应于nines.
Is this possible, 如果可以,怎么做?
问问题
846 次
6 回答
9
是的,有可能:观察你的目标数是 10 的 Length 次方,减一:
int res = Math.pow(10, length) - 1;
于 2013-01-08T01:53:58.213 回答
3
你可以这样做:
StringBuilder sb = new StringBuilder();
while (length-- > 0) {
sb.append('9');
]
nines = sb.toString();
或者,如果nines
是int
:
nines = 0;
while (length-- > 0) {
nines = 10 * nines + 9;
}
于 2013-01-08T01:53:05.727 回答
1
最简单的方法:
String nines = "";
for(int i = 0; i < length; i++) {
nines += "9";
}
return Integer.parseInt(nines);
于 2013-01-08T01:52:58.060 回答
1
您可以通过创建具有正确数量的数字字符的字符串来做到这一点,然后将其解析为int
. 像这样的东西...
String bigNumber = "";
for (int i=0;i<length;i++){
bigNumber += "9";
}
int intNumber = Integer.parseInt(bigNumber);
但是,请注意,文件的大小是有限制的int
。我建议你...
- 也许尝试使用可以容纳更大数字的东西,例如
long
(意识到long
仍然有限制,但它的限制比 更高int
)。 - 提供错误检查 - 如果字符太多或数字太大,向用户显示错误,而不是让您的应用程序崩溃。
于 2013-01-08T01:55:54.733 回答
1
如果您不反对包含另一个库,则可以使用 Apache Commons Lang StringUtils.repeat
http://commons.apache.org/lang/api-release/org/apache/commons/lang3/StringUtils.html#repeat(char , int )
String nines = StringUtils.repeat('9',length);
于 2013-01-08T02:12:55.633 回答
1
既然我们在...
char[] nineChars = new char[length];
Arrays.fill(nineChars, '9');
String nines = new String(nineChars);
于 2013-01-08T02:13:10.560 回答