Напишите программу, которая на входе через консоль принимает фамилию, имя и отчество одной строкой (например, «Иванов Сергей Петрович») и выводит фамилию, имя и отчество отдельно в формате:
Валидная строка от пользователя, которую мы можем интерпретировать как Ф. И. О., должна содержать три слова, состоящих из символов кириллицы, разделённых пробелом, может содержать дефис. Если строка не соответствует формату, то вывести в консоль: Введенная строка не является ФИО
Использование регулярных выражений в данном задании не допускается.
Строго соблюдайте формат вывода результата. Мне нужно написать проверки для тестов, где будет проверяться
launchApplication( collectTestInput(«Иван Иван Иванович ввввв»), collectTestOutput(«Введенная строка не является ФИО»)); > launchApplication( collectTestInput(«1111 2222 3333»), collectTestOutput(«Введенная строка не является ФИО»)); > launchApplication( collectTestInput(«Иван»), collectTestOutput(«Введенная строка не является ФИО»)); > это из тестов———————————————— public static void main(String[] args) < Scanner scanner = new Scanner(System.in); while (true) < String input = scanner.nextLine(); if (input.equals(«0»)) < break; >//TODO:напишите ваш код тут, результат вывести в консоль. //При невалидном ФИО вывести в консоль: Введенная строка не является ФИО String name = input; int spaceIndex = name.indexOf(‘ ‘); int spaceIndex1 = name.lastIndexOf(‘ ‘); System.out.println(«Фамилия: » + name.substring(0, spaceIndex)); System.out.println(«Имя: » + name.substring(spaceIndex, spaceIndex1)); System.out.println(«Отчество: » + name.substring(spaceIndex1)); > >
Ответы (2 шт):
Лучше всего здесь подходит метод split() из String, но он принимает регулярное выражение (если вам нельзя использовать именно Pattern и Matcher, то используйте его, а если вам вообще нельзя работать с регулярками, то не используйте).
Как ФИО превратить в фамилию с инициалами
Ещё я набросал вот такой метод:
public void strValidate(String fullName) < char[] chars = fullName.toCharArray(); StringBuilder name = new StringBuilder(); StringBuilder surname = new StringBuilder(); StringBuilder secondName = new StringBuilder(); int flag = 0; for (int i = 0; i < chars.length; i++) < char cur = chars[i]; if (cur == ‘ ‘) < flag++; continue; >switch (flag) < case 0: name.append(cur); break; case 1: surname.append(cur); break; case 2: secondName.append(cur); break; >> >
Строка разбивается на массив char и проходится по циклу. Берётся новый символ и в зависимости от состояния флага кладётся в один из StringBuilder. Если встречается пробел, то флаг увеличивается на 1. Вы можете добавить в этот метод нужные вам проверки и вывод в консоль.
Если без регулярок, у меня получилось вот так длинно с проверкой пробелов и наличия цифр
Все тесты проходит, может, кому пригодится
С какого возраста можно поменять имя и фамилию?
public class Main < public static void main(String[] args) < Scanner scanner = new Scanner(System.in); while (true) < String input = scanner.nextLine(); if (input.equals(«0»)) < break; >String name = input; int space = 0; for (int s = 0; s < name.length(); s++) < if (name.charAt(s) == ‘ ‘) < space++; //считаем количество пробелов между словами, введенными в консоль >> for (int i = 0; i < name.length(); i++) < //условие, исключающее наличие цифр if (name.charAt(i) >= ‘0’ name.charAt(i) 2 || space == 0) < System.out.println(«Введенная строка не является ФИО»); break; >else < System.out.println( «Фамилия: » + name.substring(0, name.indexOf(‘ ‘)) + System.lineSeparator() + «Имя:» + name.substring(name.indexOf(‘ ‘), name.lastIndexOf(‘ ‘)) + System.lineSeparator() + «Отчество:» + name.substring(name.lastIndexOf(‘ ‘))); break; >> > > >
Источник: husl.ru
Введите с клавиатуры в одну строку фамилию имя и отчество разделив их пробелом выведите инициалы
Нужно ввести с клавиатуры в одну строку фамилию, имя и отчество.
Вывести фамилию и инициалы.
Напишите, пожалуйста, программу!
Напечатали «Иванов Петр Сергеевич», компьютер выдаёт Иванов П.
С клавиатуры одной строкой вводят имя и фамилию?
С клавиатуры одной строкой вводят имя и фамилию.
Составьте программу, которая выводит сначала фамилию, а потом имя.
Создание программы ?
Ввести фамилию имя отчество как одно текстовое данное.
Вывести фамилия имя отчество в отдельных строках .
Нужно ввести с клавиатуры в одну строку фамилию, имя и отчество?
Нужно ввести с клавиатуры в одну строку фамилию, имя и отчество.
Вывести фамилию и инициалы.
Напишите, пожалуйста, программу!
Пример : Напечатали «Иванов Петр Сергеевич», компьютер выдаёт Иванов П.
С. без INK МЫ НЕ ПРОХОДИЛИ!
Ввести имя, отчество и фамилию?
Ввести имя, отчество и фамилию.
Преобразовать их к формату «фамилия — инициалы».
Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как заглавные, так и строчные.
Оксана54321 16 июл. 2020 г., 16:21:41 | 10 — 11 классы
Тема — обработка символьных величин на Паскале?
Тема — обработка символьных величин на Паскале.
Ввести свою фамилию, имя и отчество как одно текстовое данное, используя пробел как разделитель.
Вывести на экран — фамилию ; — имя ; — фамилию и инициалы.
Не понимаю, если я даже и начну выводить фамилию, как сделать так.
Чтобы выделялось только до пробела?
Ведь фамилии у всех разные.
А программа должна быть универсальной для всех фамилий (т.
Е. фамилия вводится с клавиатуры).
В поездке пятеро друзей — Сергей, Пётр, Андрей, Виктор, Николай — знакомились с попутчицей?
В поездке пятеро друзей — Сергей, Пётр, Андрей, Виктор, Николай — знакомились с попутчицей.
Они предложили ей отгадать их фамилии, причём каждый из них высказал одно истинное и одно ложное утверждение.
Сергей сказал : «моя фамилия — Белов, а фамилия Виктора — Чернов».
Андрей сказал : «Белов — это моя фамилия, а фамилия Николая — Краснов».
Виктор сказал : «фамилия Николая — Петров, а моя фамилия — Белов».
Николай сказал : » моя фамилия — Краснов, а фамилия Петра — Иванов».
Петр сказал : «Да, моя фамилия Иванов, а фамилия Андрея — Петров».
Какую фамилию носит каждый из друзей?
Macho216 28 февр. 2020 г., 08:57:07 | 10 — 11 классы
Задание в Паскале?
Задание в Паскале.
Ввести фамилию, имя и отчество как одно данное строкового типа.
Определить длину строки и количество букв «а» в ней ; вывести три буквы (свои инициалы) с точкам.
Anastasyakazaknastya 12 окт. 2020 г., 20:21:25 | 10 — 11 классы
Ввести две фамилии?
Ввести две фамилии.
Определить какая фамилия имеет большую длину.
Результат вывести в виде : Фамилия «Иваненко» имеет больше символов чем «Петров».
Известно ФИО человека, например Иванов Сергей Петрович, надо вывести сначала фамилию а потом инициалы(Иванов С?
Известно ФИО человека, например Иванов Сергей Петрович, надо вывести сначала фамилию а потом инициалы(Иванов С.
Dadonovaarina 23 дек. 2020 г., 07:48:20 | 5 — 9 классы
Напишите программу на питоне, пожалуйстаПрограмма получает на вход строку в формате «Фамилия, Отчество Имя»?
Напишите программу на питоне, пожалуйста
Программа получает на вход строку в формате «Фамилия, Отчество Имя».
Фамилия от отчества отделяется запятой и пробелом.
Отчество от имени отделяется пробелом.
Напишите программы, которая выводит строку в формате «Фамилия Имя Отчество» разделяемые пробелом.
На этой странице находится вопрос Нужно ввести с клавиатуры в одну строку фамилию, имя и отчество?, относящийся к категории Информатика. По уровню сложности данный вопрос соответствует знаниям учащихся 10 — 11 классов. Здесь вы найдете правильный ответ, сможете обсудить и сверить свой вариант ответа с мнениями пользователями сайта.
С помощью автоматического поиска на этой же странице можно найти похожие вопросы и ответы на них в категории Информатика. Если ответы вызывают сомнение, сформулируйте вопрос иначе. Для этого нажмите кнопку вверху.
- Maxvi e6 как отключить произношение клавиш на клавиатуре
- Монитор samsung c24fg73fqi замена матрицы
- Где моя мышка от компьютера сайт
- Настройка монитора aoc g2490vxa
- Настройка монитора msi optix g241
Источник: kompyutery-programmy.ru
Русские Блоги
Напишите программу на C ++, которая отображает ваше имя и адрес, что очень подходит для начинающих с нуля!
Технология относительно проста, то есть используется технология распознавания текста OCR. Эта технология имеет определенный порог. Если вы хотите реализовать функцию, вы можете попробовать следующий метод в редакторе. Он подходит для обучения с нуля.
1. Напишите программу на C ++, которая отображает ваше имя и адрес.
2. Напишите программу на C ++, которая требует, чтобы пользователь ввел расстояние в длинном формате, а затем преобразовал его в код (длинное значение равно 220 ярдам).
3. Напишите программу на C ++, которая использует 3 пользовательские функции (включая main ()) и генерирует следующий вывод:
Одна из функций вызывается дважды, что генерирует первые две строки, а другая функция вызывается дважды и генерирует остальную часть вывода.
4. Напишите программу, которая позволяет пользователям вводить свой возраст, а затем отображать, сколько месяцев содержится в этом возрасте.
Источник: russianblogs.com