Почему не работает простой код?
Вот встал вопрос - как переделать код, изменяющий формат даты
Вот что написал я (это кусок кода) {c= a+" час";if(a>1&&a<=4)c=a+" часа";else if(a>4&&a<=20)c=a+" часов";else if(a===21)c=a+" час";else if(a>21)c=a+" часа"} Странность заключается в том, что выводится 7 часов, но 18 часа:cray: Что не так? Пробовал без элсов делать, === заменял на == - не помогает Целый день смотрел логику жавы, все вроде по правилам... До этого работал только с Си Помогите пожалуйста Дополнение - в переменной а содержится само значение, в с - комбинация, насколько я понял |
|
Это ссылка на окончания, я правильно понял? Так оно и у меня вроде реализовано...
|
Это ссылка на формы слов рядом с числительными.
|
перепиши тоже самое с фигурными скобками в ветвлениях стандарт с++ подойдёт
|
Kolyaj, это я понял. Но дело в том что код похоже не совсем обычный. Там со скобками вообще плохо... Я это для виджета делаю
Кстати, чем == отличается от === ??? Нигде не нашел про это. насчет скобок, фигурные надо? А то никак не работает... |
надо в формате
if(){ ..... } else{ if(){ .... } else{ ..... } } стандарт ещё никто не отменял |
dmitriymar, сейчас пробую
|
если за ветвлением один оператор то скобки не обязательны. если группа то обязательное обрамление части этого кода
|
Получилось так
{c=a+" час";if (a>1&&a<=4){c=a+" часа"};else {if(a>4&&a<=20){c=a+" часов"};else {if(a===21){c=a+" час"};else {if(a>21)c=a+" часа"}}}} Проверить сейчас уже не получится, так как телефон заряжен... Посмотрим, примет ли вообще код А пробелы имеют значение? ---------------- Не запустилось вообще. |
Нормально там всё со скобками.
Number.prototype.plural = function(forms, hideNumber) { return (hideNumber ? '' : this.valueOf() + ' ') + forms.split('|')[Number.pluralIndex(this.valueOf())]; }; Number.pluralIndex = function(n) { return (n%10 == 1 && n%100 != 11 ? 0 : n%10 >= 2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20) ? 1 : 2); }; var plurals = []; for (var i = 0; i < 25; i++) { plurals.push(i.plural('час|часа|часов')); } alert(plurals.join('\n')); |
Цитата:
|
не думаю-всётаки основы програмирования никто не отменял и незнание их не заменял знанием более сложних вещей.это я не о человеке задавшем вопрос по теме почему код не работат
|
Проблема в том, что для нокиевских виджетов все как-то не так. Только что перелопатил весь страничный код и привел к нормальному состоянию - телефон вообще не запустил. Похоже, придется обойтись просто сокращениями, благо один иф он понимает
|
блин подожди-это приложение для телефона? так там используется по ходу java а не javascript это разные языки.
|
ой. да... Извиняюсь!! Просто в телефоне было "javascript file"// Сбило расширение .js, думал ява только в *жар и т.п.
Хотя если это ява, почему он свичи не понимает |
да нет если js-то это яваскипт
|
Какой-то упрощенный значит
|
это приложение выводиться через интернет браузер или запускается как приложение?ну а свичь и в скрипте есть
|
Хм. Вообще как приложение, но так как там еще ксс-оформление и штмл-страницы, может и браузер затрагивает
|
телефон ведь смарт? в задачах можно посмотреть что именно работает ява или браузер или ехе скомпилированный из с#?Или могут быть просто лишние файлы чтобы запутать или случайно в процессе кочёвки приложения с телефона на телефон обменик и т.д прибились.
|
работает экзешник. Но он сразу скрывается из меню (фишка программы). В общем большое спасибо за помощь, сейчас попробовал с конструкцией или - все равно не запускается.. Упростил код, поставил всегда отображать просто " ч"
|
ехе шник....конечно это всё жутко интересно. насколько я понимаю это какойто каллендарь? так за время этих мучений было проще на с# его по новой написать или на яве
|
Все, что хотел -сделал=) Код не совсем красивый получился, но главное - работает=) Это не календарь, я переводил программу-батарейку (выводится на рабочий стол + в меню показывает разную информацию).
dmitriymar - отдельное спасибо |
<script> a=22 c=a+" час"; if (a>1 && a<=4){c=a+" часа"} else { if(a>4 && a<=20){c=a+" часов"} else { if(a==21){c=a+" час"} else { if(a>21){c=a+" часа"} } } } alert(c) </script> |
Часовой пояс GMT +3, время: 13:37. |