3

lengthと呼ばれるintに応じて、と呼ばれる変数に特定の数の9を追加するプログラムを作成しようとしていますnines。たとえば、lengthが4の場合、 nines9999に等しくなります。lengthが7の場合、nines9999999に等しくなります。の値はlength、の9の数に対応する必要がありますnines.。これは可能ですか。可能であれば、どのように行いますか。

4

6 に答える 6

9

はい、可能です。目標数が長さの10の累乗から1を引いたものであることに注意してください。

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

You can do this by creating a String with the correct number of numerical characters, then parse it into an int. Something like this...

String bigNumber = "";
for (int i=0;i<length;i++){
    bigNumber += "9";
    }
int intNumber = Integer.parseInt(bigNumber);

However, note that there are limits to the size of the int. I would recommend that you...

  1. Perhaps try using something that can hold larger numbers, such as long (realising that long still has a limit, but its a higher limit than int).
  2. Provide error checking - if there are too many characters or the number is too big, show an error to the user, rather than crashing your application.
于 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 に答える