JOptionPane未返回正确值

问题描述 投票:0回答:1

不允许使用数组,该函数正在运行,但仅返回0,就好像它没有在计算正确的输入字符一样,但是现在它给了我“超出范围的字符串:3”]]

应该运行,打开一个窗口,要求我输入一个字符串,在这种情况下,这是一个单词,然后打开另一个窗口,要求我输入另一个字符串,在这种情况下,这是一个字母。然后,它获取第二个字符串(字母),并尝试查找该字母在第一个字符串(单词)中出现了多少次。

例如,我编译然后运行。运行后,它将打开一个窗口,我输入单词cat,然后打开第二个窗口,然后输入字母A。我得到一个返回窗口,告诉我字母A在单词cat中出现0次。这就是WAS发生的事情,现在我只是使字符串超出范围,异常字符串索引超出范围:3

import javax.swing.JOptionPane; // Need for JOptionPane

/*
   This program is used to
   get a word and a letter 
   from the user and count 
   and display the number of
   times the letter appears 
   in the word.
*/

public class LetterCounter {

   public static void main(String[] args) {

   String userInput;
   String userSentence;
   char userChar;
   int charCount = 0;
   int index = 0;

   userInput = JOptionPane.showInputDialog("Enter a String: ");
   userSentence = userInput;

   userInput = JOptionPane.showInputDialog("Enter a Character: ");
   userChar = userInput.charAt(0);

   for(index = 0; index < userSentence.length(); index++);   {
       if(userSentence.charAt( index ) == userChar) {
          charCount++;
       }
    }
    JOptionPane.showMessageDialog(null, userChar + " is used in "
                                    + userSentence + "  " + charCount +
                                    " time(s).");


    System.exit(0);
   }
}

任何人都知道出了什么问题吗?

不允许使用数组,该函数正在运行,但仅返回0,就好像它没有在计算正确的输入字符一样,但是现在它给了我一个“超出范围的字符串:3”,应该可以运行,...

java swing joptionpane
1个回答
1
投票

问题出在以下代码块中,其中您在;循环后放置了for

© www.soinside.com 2019 - 2024. All rights reserved.