Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > JAVA Micro Edition

JAVA Micro Edition Низкоуровневое программирование мобильных телефонов.

Ответ
 
Опции темы
Старый 14.08.2011, 14:58   #1
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Инициализация переменных в цикле for.

как я понял из этой книжки в цикле for, в первом списке выражений можно задавать несколько выражений через запятую. Но как оказалось после первой компиляции на практике они должны быть( ) одного типа.
В общем есть такой цикл:
for (int iboolean toCountScalenum.length(); i++) {

при его компиляции вылазят ошибки:
SNumber.java:62: error: <identifier> expected
for (int i = 0, boolean toCountScale = false; i < num.length(); i++) {
___________^

SNumber.java:62: error: not a statement
for (int i = 0, boolean toCountScale = false; i < num.length(); i++) {
______________________________________^

SNumber.java:62: error: ')' expected
for (int i = 0, boolean toCountScale = false; i < num.length(); i++) {
__________________________________________________ ^

SNumber.java:62: error: ';' expected
for (int i = 0, boolean toCountScale = false; i < num.length(); i++) {
__________________________________________________ ____^
__________________



(Offline)
 
Ответить с цитированием
Старый 14.08.2011, 19:14   #2
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Инициализация переменных в цикле for.

Можно ли как-то эти ошибки обойти?
__________________



(Offline)
 
Ответить с цитированием
Старый 14.08.2011, 19:27   #3
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Инициализация переменных в цикле for.

for (int i 0num.length(); i++) {
    
boolean toCountScale false;

не?
(Offline)
 
Ответить с цитированием
Старый 14.08.2011, 19:39   #4
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Инициализация переменных в цикле for.

for (int i 0num.length(); i++) { 
    
boolean toCountScale false

Что-то мне подсказывает что внутри цикла помногу раз инициализировать одну и ту же переменную нехорошо.
Я делаю так:
{
boolean toCountScale false
for (
int i 0num.length(); i++) { 
     } 

__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Ksanatos (14.08.2011)
Старый 14.08.2011, 23:42   #5
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Инициализация переменных в цикле for.

А что официально нужно заносить во все поля?
первое поле - это один оператор для создания ссылок.
второе - логическое выражение.
а что тогда третье?
__________________



(Offline)
 
Ответить с цитированием
Старый 15.08.2011, 02:24   #6
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Инициализация переменных в цикле for.

Сообщение от Den Посмотреть сообщение
for (int i 0num.length(); i++) {
    
boolean toCountScale false;

не?
переменная иницализируется каждый проход цикла, автору нафигнада..
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
den (15.08.2011)
Старый 15.08.2011, 11:49   #7
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Инициализация переменных в цикле for.

а что тогда третье?
третье, что делать в конце каждого шага.
(Offline)
 
Ответить с цитированием
Старый 15.08.2011, 14:37   #8
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Инициализация переменных в цикле for.

я понял, что третье поле выполняется в конце каждогопрохода цикла, но что там нужно писать?
В общем компилятор ругается на такую конструкцию:
for (;; i++, j * 10);
кто-нибудь может обьяснить причину этого? мне не нужны решения, а лишь голая и не прикрытая теория. Дайте хотя бы ссылку на oracle где описываются циклы.
__________________



(Offline)
 
Ответить с цитированием
Старый 15.08.2011, 15:22   #9
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Инициализация переменных в цикле for.

Ну то что выполнится в конце каждого цикла) for(int i=0; i <10; i = i + 1)
или i++ или i = i * 2... и т.д.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Ksanatos (15.08.2011)
Старый 16.08.2011, 21:36   #10
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Инициализация переменных в цикле for.

третье поле выполняется в конце каждогопрохода цикла, но что там нужно писать?
Кроме третьего поля есть место между скобками, где подробно пишется что делать каждый проход цикла
For(int i=1;i<10
{i++, j*10}
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 00:14   #11
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Инициализация переменных в цикле for.

2Igor
согласитесь легче написать
for (int i = 1; i < 10; i++, j = j * 10);
чем
For(int i=1;i<10;)
{i++, j*10}
__________________



(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 13:44   #12
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Инициализация переменных в цикле for.

но ты же не собираешься всё тело цикла писать внутри скобок через запятую?
Одно место есть т.к. обычно существует один счётчик цикла, который не всегда имеет прямое отношение к тому что делается внутри.
Рассуждение номер 2 - команды разделяются точкой с запятой, но внутри цикла нельзя поставить лишней ";" по понятным причинам, а ставить между командами запятые тоже нехорошо
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 24.02.2012, 10:52   #13
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Инициализация переменных в цикле for.

Сообщение от Ksanatos Посмотреть сообщение
В общем компилятор ругается на такую конструкцию:
for (;; i++, j * 10);
кто-нибудь может обьяснить причину этого? мне не нужны решения, а лишь голая и не прикрытая теория.
for без среднего параметра работать не может, т.к. ему необходимо условие завершения цикла. Если второй параметр указать и переменные i, j объявлены выше цикла, причём с указанием значений, например нулю равные, то будет норм работать.

Сообщение от Igor Посмотреть сообщение
Рассуждение номер 2 - команды разделяются точкой с запятой, но внутри цикла нельзя поставить лишней ";" по понятным причинам, а ставить между командами запятые тоже нехорошо
хорошо, когда требуется

Ещё: вместо i++ лучше использовать ++i - префиксное плюсование.

Последний раз редактировалось Жека, 24.02.2012 в 10:54. Причина: пс
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:58.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com