0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20

Удалить начальные и конечные пустые символы в массиве char[]

08.12.2019, 21:38. Показов 2181. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу, которая будет удалять начальные и конечные пустые символы в массиве char[]
Алгоритм:
1. требуется создать массив размера 20 и заполнить его через объект класса Scanner символами, при этом допускается заполнение ячеек пробелами
2. требуется найти серию символов из введенного массива начинающиеся не с символа пробела до конца массива, либо до начала серии пробелов.

т.е. если например был введен массив символов следующего содержания:

' ', ' ', ' ', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', ' ', ' ', ' ', ' ', ' '

то в этом массиве нужно выделить серию символов и распечатать

'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!'

Пошаговый алгоритм:
a. создать переменную-счетчик countSpacesLeft=0
b. запустить цикл while (i<initalCharArray.length)
c. на каждую итерацию сравнивать отличается ли символ в ячейке от пробела. Если не отличается, то увеличивать счетчик countSpacesLeft на один, если отличается, то считать, что уже предложение начато и прекратить увеличивать счетчик.

Аналогичный алгоритм можно использовать для подсчета символов-пробелов начиная справа массива, используя переменную countSpacesRight.

Итоговый массив должен быть размера int newArraySize = initialCharArray.length-countSpacesLeft-countSpacesRight.

3. затем найденный набор символов нужно перенести в новый массив char[] размером равный выделенному массиву, т.е. в нашем примере выше выделенный массив был бы равен 12.

4. распечатать вновь созданный массив char[] на экран
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2019, 21:38
Ответы с готовыми решениями:

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN я не понятно, это исключительно...

При работе JVM обвалвается java c кодом Java Result 1073807364.
При работе JVM обвалвается java c кодом Java Result 1073807364. Если кто-нибудь знает, помогите пожалуйста.

Error:(10, 42) java: incompatible types: int cannot be converted to java.math.BigDecimal
import java.math.*; import java.util.Scanner; public class Factorial { public static void main(String args) { Scanner...

4
 Аватар для sdasdaw
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
08.12.2019, 21:42
H1ndo, У вас даже алгоритм расписан в чем проблема?
0
0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20
08.12.2019, 21:53  [ТС]
Неполучаеться у меня
0
54 / 45 / 18
Регистрация: 09.02.2015
Сообщений: 165
09.12.2019, 08:47
Лучший ответ Сообщение было отмечено H1ndo как решение

Решение

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
import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        char[] initialCharArray = new char[20];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < initialCharArray.length; i++) {
            initialCharArray[i] = sc.next().charAt(0);
        }
        sc.close();
 
        int countSpacesLeft = -1;
        while (initialCharArray[++countSpacesLeft] == ' '){
        }
 
        int countSpacesRight = initialCharArray.length;
        while (initialCharArray[--countSpacesRight] == ' '){
        }
 
        char[] newArraySize = Arrays.copyOfRange(initialCharArray, countSpacesLeft, countSpacesRight + 1);
        System.out.println(Arrays.toString(newArraySize));
    }
}
Добавлено через 7 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String tmp = sc.nextLine();
        while (tmp.length() > 20){
            System.out.println("Invalid string length, try again.");
            tmp = sc.nextLine();
        }
 
        tmp = tmp.trim();
        char[] newArraySize = tmp.toCharArray();
        System.out.println(Arrays.toString(newArraySize));
    }
}
1
 Аватар для Aviz__
2760 / 2067 / 509
Регистрация: 17.02.2014
Сообщений: 9,494
09.12.2019, 09:53
H1ndo,
Java
1
2
3
4
5
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String ss = scanner.nextLine().replaceAll("\\s+"," ").trim();
        System.out.println(ss);
    }
rezult
Кликните здесь для просмотра всего текста

Hello H1
Hello H
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2019, 09:53
Помогаю со студенческими работами здесь

Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома
Или может кто может дать готовый код. В теории вроде бы не очень сложно. :cry: 1.Напишите процедуру, которая по заданному сообщению...

Актуально ли изучать java сейчас по книге, где примеры в java 5?
Книга &quot;Изучаем Java&quot;Берт Бейтс, Кэтти Сьерра .До этого ничего не читал по java

Хочу стать Java программистом, здесь есть Java программисты?
Здравствуйте, я хочу стать Ява программистом, если здесь есть Ява программисты, пж подскажите плюсы и мунусы профессии Ява программиста,...

Какие шаги предпринять для овладения java и какую среду java посоветуете?
Пока сть опыт по Visual С, Basic; Borland Delphi, CBuilder. Хочется и в java разбираться.

Вывести на экран текст: полное имя файла java.exe из установленного пакета java
Я тока недавно начал учить этот язык. Подскажите как это делается или приведите код к примеру. Выведи на экран текст: полное имя файла...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru