Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
6 / 5 / 8
Регистрация: 23.05.2014
Сообщений: 212
1

Удалить элемент массива

08.03.2016, 19:16. Показов 3812. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Описание проблемы в комментариях, в коде.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public static void main(String[] args)
    {
        /*Смысл такой: есть строка, в ней нужно посчитать 
         *какаие символы наиболее часто встречаются
         */
        String str = new String( "Строка и символы и чертовы пробелы  ");
        String sub = new String();
        sub = str;
        sub = sub.replace( " ", "" );//удаляю пробелы
        sub=sub.toLowerCase();//выравниваю регистр
        //System.out.println(sub);// не обращяй внимания, проверял содержание саб строки
        
        System.out.println("Длина строки  = " + str.length() + " (включая пробелы)");
        char[] chArray = sub.toCharArray();// перевожу String в массив Char[]
        int k=0;//счетчик встречаемости элемента
 
        for(int i = 0; i<chArray.length; i++){
            for (int j = 0; j < chArray.length; j++) {
                if(chArray[i]==chArray[j]){
                    k++;                
                }
                // думал здесь сделать удаление элемента из массива chArray[] 
                // но почитав что из массива удалить, ну почти никак, и для этого есть колекция.
                // Подскажите что делать, а то уже часа два потратил на написание, и оказываеться в пустую.
            }           
            System.out.println("Символ (" + chArray[i] + ") встречался: " + k +" раз(а).");
            k=0;// обнуляю счетчик 
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2016, 19:16
Ответы с готовыми решениями:

Как удалить элемент из массива?
Друзья, подскажите, пожалуйста, как удалить элемент из массива. В массиве каждое число повторяется...

Удалить предыдущий элемент массива
Всем привет уже битых полтора часа не могу реализовать удаление предыдущего элемента массива. Суть...

Удалить m-ый элемент одномерного массива
Помогите пожалуйста!!! Есть код, который удаляет в данном случае 5-ый элемент в массиве(т.к. int m...

Удалить средний элемент массива
Как удалить средний элемент массива ?

4
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
08.03.2016, 20:56 2
Лучший ответ Сообщение было отмечено CovCek как решение

Решение

CovCek, если я правильно понял нужно выяснить какая буква чаще других в строке, поэтому добавил вывод самого часто встречающегося символа. А в целом что-то вот такое получилось:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    public static void main(String[] args) {
        /*Смысл такой: есть строка, в ней нужно посчитать 
         *какаие символы наиболее часто встречаются
         */
        int k = 0, max = 0;
        char maxChar = 0;
        String str = "Строка и символы и чертовы пробелы  ";
        System.out.println("Длина строки  = " + str.length() + " (включая пробелы)");
        char[] chArray = str.replace(" ", "").toLowerCase().toCharArray();
        Set<Character> charSet = new TreeSet<>();
        for (char temp : chArray) {
            charSet.add(temp);
        }
        for (Character goSet : charSet) {
            for (Character goArray : chArray) {
                if (goSet.equals(goArray)) {
                    k++;
                    if (max < k) {
                        max = k;
                        maxChar = goSet;
                    }
                }
            }
            System.out.println("Символ (" + goSet + ") встречался: " + k + " раз(а).");
            k = 0;
        }
        System.out.println("Чаще всех " + max + " раза встречается буква " + maxChar);
    }
1
6 / 5 / 8
Регистрация: 23.05.2014
Сообщений: 212
09.03.2016, 09:00  [ТС] 3
можешь объяснить суть treSet, и что происходит в цикле.
Цитата Сообщение от HOBATOP Посмотреть сообщение
Set<Character> charSet = new TreeSet<>();
как я понял, здесь создается коллекция, в виде дерева?

Цитата Сообщение от HOBATOP Посмотреть сообщение
for (Character goSet : charSet) { //интересуют в основном эти три строки
* * * * * * for (Character goArray : chArray) {//эта
* * * * * * * * if (goSet.equals(goArray)) {//и эта
* * * * * * * * * * k++;
* * * * * * * * * * if (max < k) {
* * * * * * * * * * * * max = k;
* * * * * * * * * * * * maxChar = goSet;
* * * * * * * * * * }
* * * * * * * * }
* * * * * * }
* * * * * * System.out.println("Символ (" + goSet + ") встречался: " + k + " раз(а).");
* * * * * * k = 0;
* * * * }
0
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
09.03.2016, 10:49 4
CovCek, Set - коллекция, в которую добавляются только уникальные элементы, TreeSet - отсортированная коллекция Set.
Java
1
2
3
        for (Character goSet : charSet) {//цикл foreach for(тип перем_итератор : коллекция) - пробегает по коллекции или массиву последовательно присваивая переменной значение элементов коллекции. Конкретно тут просматриваем наш TreeSet
            for (Character goArray : chArray) {//то же самое, но перебираем уже массив char[]
                if (goSet.equals(goArray)) {//сравниваем переменную из первого цикла с переменными из второго цикла; == в данном случае работать не будет, поскольку примитивные переменные типа char приведены к Character.
1
6 / 5 / 8
Регистрация: 23.05.2014
Сообщений: 212
09.03.2016, 13:03  [ТС] 5
Цитата Сообщение от HOBATOP Посмотреть сообщение
CovCek, Set - коллекция, в которую добавляются только уникальные элементы, TreeSet - отсортированная коллекция Set.
Спасибо, я уже прочел по ним литературу, все равно спасибо.
0
09.03.2016, 13:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2016, 13:03
Помогаю со студенческими работами здесь

Надо удалить элемент массива?
Здр. В Яве нельзя менять размер массивов вроде как. Но что делать. если надо удалить один из...

Удалить первый максимальный элемент одномерного массива А(N)
Всем привет, есть следующая задача: &quot;Составьте программу удаления первого максимального элемента...

Если элемент найден, то удалить его и следующий за ним элемент из массива
Сформировать массив x, упорядоченный по убыванию. Определить, содержит ли он заданное число. Если...

Удалить первый отрицательный элемент массива, если такой элемент есть
1. Удалить первый отрицательный элемент массива, если такой элемент есть. 2. Вставить два элемента...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru