我在寫一個hang子手(遊戲)程序,並且我有一個編碼的短語,以星號顯示給用戶。當用戶猜到一個正確的字母時,我試圖改變編碼的星號詞組,以便它將一個星號改爲用戶輸入字母。我使用的indexOf方法,但它不斷輸出-1,給我我能做些什麼來解決java.lang.StringIndexOutOfBoundsException?
java.lang.StringIndexOutOfBoundsException
String index out of range -1
下面是代碼:
System.out.print("Enter your next guess: ");
String userGuess = keyboard.nextLine();
System.out.println("You guessed " + userGuess.toUpperCase() + ".");
System.out.println();
if(phrase.contains(userGuess.toUpperCase())) {
System.out.println("This is present in the secret phrase.");
System.out.println();
System.out.println("Number of wrong guesses so far: " + wrongGuesses);
int index = phrase.indexOf(userGuess);
System.out.print(index);
encodedPhrase = (encodedPhrase.substring(0, index) + userGuess + encodedPhrase.substring(index + 1));
'phrase.indexOf(userGuess);'返回-1這意味着它沒有被發現。將其更改爲'phrase.indexOf(userGuess).toUpperCase();' –