Учитываются только буквы алфавита - PullRequest
0 голосов
/ 07 мая 2020

Это мой код для поиска первого неповторяющегося символа и возврата его индекса и символа. Как мне заставить его подсчитывать только буквенные символы?

Спасибо за помощь :)

// Java программа для поиска первого неповторяющегося символа

import java.util.*;
public class GFG 
{ 
    static final int NO_OF_CHARS = 256; 
    static char count[] = new char[NO_OF_CHARS]; 

    /* calculate count of characters 
    in the passed string */
    static void getCharCountArray(String str) 
    { 
        for (int i = 0; i < str.length(); i++) 
            count[str.charAt(i)]++; 
    } 

    /* The method returns index of first non-repeating 
    character in a string. If all characters are repeating 
    then returns -1 */
    static int firstNonRepeating(String str) 
    { 
        getCharCountArray(str); 
        int index = -1, i; 

        for (i = 0; i < str.length(); i++) 
        { 
            if (count[str.charAt(i)] == 1) 
            { 
                index = i; 
                break; 
            } 
        } 

    return index; 
    } 

    // Driver method 
    public static void main (String[] args) 
    { 
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int index = firstNonRepeating(str); 

        System.out.println(index == -1 ? "Either all characters are repeating or string " + 
                "is empty" : "First non-repeating character is " + str.charAt(index)); 
                System.out.println(index);
    } 
} 

1 Ответ

0 голосов
/ 07 мая 2020

С вашим текущим кодом все, что вам нужно, это следующее: после завершения просто распечатайте символы с их количеством. Класс Character имеет другие методы для выбора типов символов, если isAlphabetic не то, что вам нужно.

String str = sc.nextLine();
for (char c : str.toCharArray()) {
      if (Character.isAlphabetic(c)) {
              count[c]++;
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...