Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 13

Проверка строки на наличие определённой комбинации символов

03.10.2017, 11:14. Показов 6781. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Нужно написать программу для перевода температуры в разные единицы измерения.
Например, юзер вводит 100F - программа должна вывести сколько это градусов Цельсия и градусов Кельвина.
Или вводит 30C - программа выводит сколько это в градусах Фаренгейта и градусах Кельвина.
У меня возникла проблема в том, что нужно ещё сделать проверки на корректность ввода: пользователь должен вводить одну строку информации (примеры: 30C / 100F / 50K).
Каким образом реализовать что информация введена именно таким образом (несколько цифр, и одна буква - C, F или K после цифр)?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.10.2017, 11:14
Ответы с готовыми решениями:

Проверка строки на наличие символов
Написал функцию для проверки строки, если в ней есть любые символы, мешающие преобразовать ее в число типа double. using System; ...

Проверка строки на наличие букв и символов
Добрый вечер! Как в android проверить editText на наличие букв и символов? Мне нужно, что бы программа пропускала только цифры и...

Проверка строки на наличие лишних символов
Всем привет. Помогите пожалуйста сделать так, чтобы программа, когда я ввожу какие-либо буквы или другие символы, выводила на экран что-то...

5
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
03.10.2017, 11:47
regex
\d+[CF] или чото в таком духе
1
25 / 25 / 31
Регистрация: 04.10.2016
Сообщений: 85
03.10.2017, 11:58
Лучший ответ Сообщение было отмечено st0rmpwnz как решение

Решение

Попробуй так:
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
public static void main(String[] args) {
        System.out.println("Введите температуру (пример: 30C): ");
        while (true) {
            String str = new Scanner(System.in).nextLine();
            char[] ch = str.toCharArray();
            if (check(ch)) {
                System.out.println("Информация введена верно");
                                break;
            } else {
                System.out.println("Некорректно задана температура, попробуйте еще раз: ");
            }
        }
    }
 
    public static boolean check(char[] ch) {
        if (ch[ch.length - 1] == 'C' || ch[ch.length - 1] == 'K' || ch[ch.length - 1] == 'F') {
            for (int i = 0; i < ch.length - 1; i++) {
                if (!Character.isDigit(ch[i])) {
                    return false;
                }
            }
            return true;
        } else {
            return false;
        }
    }
1
03.10.2017, 11:59

Не по теме:

Цитата Сообщение от Tuxedo Mask Посмотреть сообщение
Попробуй так:
жесть

1
0 / 0 / 0
Регистрация: 14.05.2015
Сообщений: 13
03.10.2017, 15:25  [ТС]
Это не совсем то, что нужно.
Предложенные варианты ищут определённую комбинацию символов в строке, а нужно конкретно проверять ввод по шаблону:
допустим если человек ввёл 25C100F, то ошибку и не покажет.
Нужно что-то вроде блока if, где проверялась бы строка по шаблону 1-4 цифры и буква C, K или F

Добавлено через 11 секунд
Это не совсем то, что нужно.
Предложенные варианты ищут определённую комбинацию символов в строке, а нужно конкретно проверять ввод по шаблону:
допустим если человек ввёл 25C100F, то ошибку и не покажет.
Нужно что-то вроде блока if, где проверялась бы строка по шаблону 1-4 цифры и буква C, K или F

Добавлено через 11 минут
UPD:
Решение нашёл сам, спасибо за ответы
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
03.10.2017, 15:44
Жесть Nº2

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
30
31
32
33
34
35
36
37
38
39
    public static void main(String[] args) {        
        String input  = "100F";
        char[] inChar = input.toCharArray();
        
        if (input.length() > 5) {
            System.out.println("Invalid length");
        }
        else {        
            if (input.endsWith("C") || input.endsWith("F")) {
                boolean numPresent = false;
                
                for (int i = 0; i < inChar.length - 1; i++) {   
                    numPresent = true;
                    
                    if (!isNumeric(inChar[i])) {
                        System.out.println("Invalid format");
                        
                        break;
                    }
                }   
                
                if (!numPresent) {
                    System.out.println("No number present");
                }  
            }
            else {
                System.out.println("Invalid type");
            }
        }
    }
    
    public static boolean isNumeric(char c) {
        if (c >= '0' && c <= '9') {
            return true;
        }
        else {
            return false;
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2017, 15:44
Помогаю со студенческими работами здесь

Проверка строки на наличие русских символов
Ребята помогите пожалуйста! Уже второй день мучаюсь, ситуация такая есть форма регистрации, на который поля ввода логин и пароль, при вводе...

Проверка строки на наличие определенных символов
Есть строка символов, мне нужно проверить есть ли там цифры или другие ненужные символы. Заранее спасибо.

Проверка строки на наличие недопустимых символов
в строке должны содержаться только латинские буквы, цифры и знак подчеркивания. строка может начинаться с подчеркивания или буквы. как...

Проверка строки на наличие определенных символов, слов
Подскажите, пожалуйста, как проверить строку на то, что: 1) состоит только из пробелов(любого количества) 2) состоит только из...

Проверка строки на наличие пробелов, символов и букв
Добрый день. Нужно проверить строку на наличие пробелов, символов и букв, если такие имеются, то вывести сообщение об ошибке. Пока мне...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru