Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
214 / 214 / 21
Регистрация: 19.01.2013
Сообщений: 1,563
Записей в блоге: 2
#1

Склонение возраста лет или год - Android

03.08.2016, 08:24. Просмотров 238. Ответов 4
Метки нет (Все метки)

есть число (возраст)

Нужно получить такую строку Возраст n год/года/лет

как сделать так чтобы если на вход методу подается

1 - то добавлялся год
2 - года
3 - года
4 - года
5 - лет

и т.д.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2016, 08:24     Склонение возраста лет или год
Посмотрите здесь:

Склонение чисел: минут-минуты, день-дней Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2860 / 1793 / 183
Регистрация: 13.01.2012
Сообщений: 6,776
03.08.2016, 08:31     Склонение возраста лет или год #2
ILNAR_93, очевидно нужно выделить единицы из переданного числа и в зависимости от значения вернуть нужное
OlegJV
 Аватар для OlegJV
101 / 101 / 29
Регистрация: 13.03.2016
Сообщений: 470
03.08.2016, 08:35     Склонение возраста лет или год #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Самый тупой способ

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
switch year {
 
case 1:
sYear = "год";
break;
 
case 2:
case 3:
case 4:
sYear = "года";
break;
 
case 5:
case 6:
case 7:
case 8:
case 9:
case 0:
sYear = "лет";
break;
 
}
vxg
Модератор
 Аватар для vxg
2860 / 1793 / 183
Регистрация: 13.01.2012
Сообщений: 6,776
03.08.2016, 08:37     Склонение возраста лет или год #4
Ну и в начале наверное
Java
1
int year = age % 10;
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
04.08.2016, 10:49     Склонение возраста лет или год #5
Можно массив строк сделать и по индексу получать нужное окончание
Java
1
2
String[] EndingArr = {"лет", "год", "года", "года", "года", "лет", "лет", "лет", "лет", "лет"};
String sYears = Integer.toString(age) + " " + EndingArr[age%10];
Или можно так:

Java
1
2
int iTens = age % 10;
String sYears = Integer.toString(age) + " " + ((iTens == 1)? "год":((iTens < 5 & iTens != 0)? "года":"лет"));
Yandex
Объявления
04.08.2016, 10:49     Склонение возраста лет или год
Ответ Создать тему
Опции темы

Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru