【发布时间】:2017-05-02 21:17:08
【问题描述】:
我是一名新的 Java 程序员。我正在尝试从用户输入的字符串中进行搜索,以查找特定字符的出现次数。
它并没有完全达到我想要的效果,因为它似乎显示了从字符第一次出现的点开始的字符数。对于这个项目,我需要使用.indexOf() 这是我的代码。
import java.util.Scanner;
public class SearchingStrings {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter the string to test > ");
String stringToTest = input.nextLine();
System.out.println("Please enter the letter to count >");
String letterToCount = input.nextLine();
// first position found
int positionOfLetter = stringToTest.indexOf(letterToCount);;
if (positionOfLetter != -1) {
int countNumberOfLetters = 1;
for (int i = positionOfLetter + 1; i < stringToTest.length() - 1; i++) {
positionOfLetter = stringToTest.substring(positionOfLetter, stringToTest.length()).indexOf(letterToCount);
if (positionOfLetter != -1) {
countNumberOfLetters++;
}
}
System.out.println("Number of letters found: " + countNumberOfLetters);
} else {
System.out.println("Your letter " + letterToCount + " was not found in the string!");
}
}
}
【问题讨论】: