Возвратить повторяющиеся символы

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

public class student {
    String name;
    String Surname;
    int age;
    String group;
    String otchestvo;
    int kurs_obucheniya;
    public void setName(String name, String Surname, int age, String group, String otchestvo, int kurs_obucheniya) {
        this.name = name;
        this.Surname = Surname;
        this.age = age;
        this.group = group;
        this.otchestvo = otchestvo;
        this.kurs_obucheniya = kurs_obucheniya;
    }
    public String getName() {
        return this.name;
    }
    public String getSurname() {
        return this.Surname;
    }
    public int getAge() {
        return this.age;
    }
    public String getgroup() {
        return this.group;
    }
    public String getotchestvo() {
        return this.otchestvo;
    }
    public int getkurs_obucheniya() {
        return this.kurs_obucheniya;
    }
    public void ppt() {
        System.out.println(name);
        System.out.println(Surname);
        System.out.println(age);
        System.out.println(group);
        System.out.println(otchestvo);
        System.out.println(kurs_obucheniya);
    }
    public static void main(String[] args) {
        student a = new student();
        a.setName("Ivan", "Ivanov", 20, "E-4", "Ivanovich", 4);
        a.ppt();
    }
    @Override
    public String toString() {
        return "Full Name =" + name + "  " + otchestvo + "  " + Surname + ", course " + kurs_obucheniya;
    }
    public String getInitials(){
        return String.format("%S.%S.", name.charAt(0), otchestvo.charAt(0));
    }
}


Ответы (1 шт):

Автор решения: Ihar Bakhanovich

Метод написать не проблема, думаю ты понимаешь сам как это сделать. Если нет, то делаешь 2 вложенных цикла, в первом цикле берешь символ по его номеру. Во втором цикле (начиная от следующего за взятым символом и до конца строки) делаешь проверку на равенство и, если совпало, добавляешь единичку. И так со всеми символами. Вопрос в другом, где хранить пары (символ, его количество)? Ответив на этот вопрос - получишь ответ сразу же и на второй вопрос "а что же я должен вернуть из этого метода").

Итак метод: чтоВозвращаю valueOfSymbolsInName (String name) { }

даже можно ничего не подавать ему на вход чтоВозвращаю valueOfSymbolsInSurname() {} потому что метод класса student видит все переменные этого класса, в том числе и surname (названия переменных пишут с маленькой буквы).

→ Ссылка