0
私は数値であるStringをint配列に変換しようとしています。文字列の値はgenerateNewSecret()
メソッドで作成され、この値をint配列に変換してインスタンスsecretNumber
に格納しようとしています。インスタンスnumDigits値は別のクラスから取得され、ここで使用されます。メソッドconvertNumToDigitArray
はこれを行うために使用していますが、これを動作させることはできません。すべてのヘルプは高く評価されjava.lang.StringIndexOutOfBoundsExceptionString型の数値をint型の配列に変換する方法は?
を
:私は、このエラーメッセージを取得しておきます。
import java.util.Random; public class Engine { private int numDigits; private int[] secretNumber = new int[numDigits]; private Random randomNumberGenerator = new Random(); public int[] convertNumToDigitArray(String number) { int numDigits = number.length(); int[] convertNumToDigitArray = new int[numDigits]; for(int i = 0; i <= numDigits; i++) { convertNumToDigitArray[i] = number.charAt(i); } return convertNumToDigitArray; } public int getNumDigits() { return numDigits; } public int[] getSecretNumber() { return this.secretNumber; } //creates a random number with a certain length that matches numDigits, // stores in a string value //Ex. numDigits = 3; secret = 647; public void generateNewSecret() { int secret = 0; for(int i = 0;i <= numDigits; i++) { secret = secret * 10 + randomNumberGenerator.nextInt(9); } secret = secret/10; String secretNum = Integer.toString(secret); setSecretNumber(convertNumToDigitArray(secretNum)); } public void setNumDigits(int numDigits) { this.numDigits = numDigits; secretNumber = new int[numDigits]; } public void setSecretNumber(int[] secretNumber) { this.secretNumber = secretNumber; } }
は 'I <= numDigits'私はnumDigits'を<'でなければなりません。 –
投票の締切:offトピック、typo – Tibrogargan
@Tibrogargan:率直に言って、これは私にとって誤解の根本的な欠如のように見えます。 –