Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/75: Рейтинг темы: голосов - 75, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 21.11.2014
Сообщений: 10

Не все ветви кода возвращают значение в методе

12.12.2014, 02:06. Показов 14183. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
        public static int kolichestvo(string s)
    {
            int str = 0;
            for (int i = 0; i < s.Length; i++)
            {
                if (!char.IsDigit(s[i]))
                {
                    return str++;
                }
            }
}
Ошибка 1 "ConsoleApplication4.Program.kolichestvo (string)": не все ветви кода возвращают значение

Как исправить ошибку?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2014, 02:06
Ответы с готовыми решениями:

Не все ветви кода возвращают значение
НЕ могу понять как убрать эту ошибку(( private static float Y_from_x (float x1, float x0, float x2, float x) { ...

Не все ветви кода возвращают значение
public String GetDataAvg(int detectors, DateTime dates, out String readings) { SqlConnection MyConnection = new...

Не все ветви кода возвращают значение
public static int MiddleOf(int a, int b, int c) { if (a &gt; b &amp;&amp; a &gt; c) if (b &gt; c) return b; ...

5
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
12.12.2014, 02:43
Подсказка в самом сообщении об ошибке.
Метод возвращает значение только внутри цикла и только, когда выполняется условие
C#
1
!char.IsDigit(s[i])
, а должен возвращать в любом случае.
Кроме того после оператора return выполнение метода завершится с возвратом текущего значения str на 1м же шаге цикла. То есть, алгоритм в такой реализации работать не будет.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.12.2014, 02:45
Цитата Сообщение от Stormansky Посмотреть сообщение
не все ветви кода возвращают значение
А если условие ни разу не выполнится, или наоборот, выполнится, но условие всегда будет ложным, что метод должен возвратить?
Вот и верните что-то после цикла.
0
51 / 42 / 24
Регистрация: 18.09.2014
Сообщений: 116
12.12.2014, 02:49
Stormansky. Для исправления этой ошибки в конце класса надо вставить return str. Или что должно возвращаться, если нету ни одного выполнения условия if (!char.IsDigit(s[i])).
Эта ошибка заключается в том, что не при всех условиях возвращается значение из класса. В то время, как возвращаемое значение должно быть int.
Также, проверьте логику метода. Что вам надо выводить? Или возвращает 1, если находиться хоть один символ, который не относиться к категории десятичных цифр. Или возвращает сумму всех таких символов. В вашем случае возвращает 1.
Если все таки второй случай, то можно исправить код так:
C#
1
2
3
4
5
6
7
8
        public static int kolichestvo(string s)
        {
            int str = 0;
            for (int i = 0; i < s.Length; i++)
                if (!char.IsDigit(s[i]))
                    str++;
            return str;
        }
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.12.2014, 02:59
Если требуется посчитать количество цифр в строке, то вот, метод с одной строкой
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1 {
    class Program {
        static void Main(string[] args) {
            string s = "kjf0hyudk7";
            int n = DigitsCount(s);
        }
        static int DigitsCount(string s) {
            return s.ToCharArray().Count(i => char.IsDigit(i));
        }
    }
}
Если наоборот, количество НЕ цифр, то перед char поставить знак отрицания (!).
0
Заблокирован
12.12.2014, 03:24
insite2012, .ToCharArray() лишний
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2014, 03:24
Помогаю со студенческими работами здесь

Не все ветви кода возвращают значение
Добрый день. Есть метод в классе: public static string ok() { string auth = kmvclass.f_auth(&quot;get&quot;, 1);//запрос страницы...

Не все ветви кода возвращают значение
Написал метод прогонки.Вот он public static double MetodProgonki(int N,double a,double b,double c,double f) { ...

Не все ветви кода возвращают значение
В данной функции возникает ошибка: &quot;не все ветви кода возвращают значение &quot;, подскажите что не так? public int GetLine(point...

Не все ветви кода возвращают значение
Снова эта всеми излюбленная ошибка :D static int SumOfDigits(int n) { if (n &lt;= 0) throw new...

Не все ветви кода возвращают значение
В методе Answer не все ветви кода возвращают значение, хотя return в конце есть Console.WriteLine(&quot;Введите размер массивов...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru