我正在尝试创建一个程序,根据名为length
的int,将一定数量的9添加到名为nines
的变量中。例如,如果length
为4,那么我希望nines
等于9999.如果length
为7,我希望nines
等于9999999. {{1}的值}需要与length
中的9个数相对应这是否可能,如果是,如何?
答案 0 :(得分:9)
是的,有可能:观察你的目标数是10的长度,减1:
int res = Math.pow(10, length) - 1;
答案 1 :(得分: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;
}
答案 2 :(得分:1)
最简单的方法:
String nines = "";
for(int i = 0; i < length; i++) {
nines += "9";
}
return Integer.parseInt(nines);
答案 3 :(得分:1)
您可以通过创建具有正确数字字符数的字符串来执行此操作,然后将其解析为int
。像这样......
String bigNumber = "";
for (int i=0;i<length;i++){
bigNumber += "9";
}
int intNumber = Integer.parseInt(bigNumber);
但请注意,int
的大小有限制。我建议你......
long
(意识到long
仍有限制,但其限制高于int
)。答案 4 :(得分: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);
答案 5 :(得分:1)
因为我们正在......
char[] nineChars = new char[length];
Arrays.fill(nineChars, '9');
String nines = new String(nineChars);