Проверьте каждую позицию во входной записи и верните, сколько раз встречается символ - PullRequest
0 голосов
/ 14 октября 2018

Я написал следующий код, но я не могу преобразовать строку в символ и затем искать строку входной записи.Мой код ниже.Любые полезные советы будут с благодарностью.Я должен был использовать цикл while, но мне показалось, что легче начать с.

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String inputEntry;
    String inputCharacter;
    int length;
    int i;
    int counter = 0;

    System.out.println("Enter a string: ");
    inputEntry = in.next();
    System.out.println("Enter a letter: ");
    inputCharacter = in.next();

    length = inputCharacter.length();

    if (length == 1) {
        for(i = 0; i <= inputEntry.length(); i++){
            char c = inputCharacter.charAt(0);
            if (inputEntry.charAt(i) == c){
              counter++;
        }
        }
    }
    else {
        System.out.println("The input letter was not a single letter.");
    }

}

}

1 Ответ

0 голосов
/ 15 октября 2018

Похоже, единственная проблема в вашем коде заключается в том, что вы используете <= вместо < в вашем цикле.<= неверно, потому что он передает длину строки в качестве индекса, но первый символ находится в charAt(0), а последний символ находится в charAt(inputEntry.length() - 1)

Замена объявления цикла следующим:1008 *

for(i = 0; i < inputEntry.length(); i++){ 

Тогда вам также нужно System.out.println(counter); после цикла for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...