我需要计算字母在字符串中出现的频率。
为此,我考虑使用扫描仪对象,将字符串传递给它
Scanner s = new Scanner(String)
并使用 next() 方法通过 switch 语句分析每个字符。
我在这些板上进行了搜索并设计了以下内容:-
for (int i = 0; i < outputString.length(); i++) {
Scanner s = new Scanner(outputString);
char letter = s.next().charAt(i);
switch (letter) {
switch code;
}
当我正在分析的字符串包含除空格之外的任何内容(-_z1 等..)时,这似乎会起作用,这将导致程序抛出 String.IndexOutOfBoundException (4)。
还有什么我可以尝试的,或者我应该删除单词中的所有空格(即我正在考虑使用 for 循环创建一个新单词字符串来添加每个 string.charAt(i) != ' ')。
编辑:我忘了扫描仪在 for 循环中,我会把它拿出来。其次,不确定它是否会改变,但我试图计算字符串中字母表中每个字母出现的次数,而不仅仅是一种类型的字母。感谢您的评论!
提前致谢,
最佳答案
这是另一个问题中提供的解决此问题的替代方法。 (还不能发表评论......所以必须作为答案......) How to count frequency of characters in a string?
关于java - 使用 Scanner 在 for 循环中逐字母分析字符串(抛出 IndexOutOfBoundExceptions),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250205/