2014-10-12 3 views
0

Я собирался опубликовать запрос, но я решил его, переработав код, избегая проблемы, но не отвечая на него.Опубликовать инициализацию локальной переменной в Java

Итак, ниже приведен пример того, что я хотел сделать.

У меня был for loop внутри do-while петли и хотел цикл do-while работать, пока не будет достигнуто условие, касающееся вложенной for loop. Ошибка, которую я получал, заключалась в том, что i не был инициализирован, поэтому условие while не может быть запущено, что имеет смысл.

Я надеялся создать локальную переменную за пределами цикла do-while и инициализировать ее в вложенном for loop. Это, очевидно, было невозможно в том, как я пытался его выполнить, но есть ли другой способ «отправить инициализацию» переменной в Java?

Также просто из любопытства, какие языки допускают такую ​​инициализацию почты?

case 2: 
     int i; 
     do{ 
      try{ 
       for(i=0; i<array.length;i++){    
        if(... 
       } 
      } 
      catch(Exception e) 
      { 
       System.out.println(e.getMessage()); 
      } 

     } while(!array[i].state.equals("X")); 
     break; 

ответ

0

Вы можете легко решить, давая i начальное значение при объявлении его:

int i = 0; 
+0

, но будет ли он обновляться с дополнениями из цикла for? – Edward

+0

@Edward Конечно. – Eran

0

Вы должны инициализировать переменную де я перед делать-то время.

Внутри цикла do-while вы можете сбросить переменную. Теперь вы уже сделали это в состоянии.

С другой стороны, я не знаю, что сделал ваш код внутри для его создания и логики вашего алгоритма, но я думаю, что возможно, что у вас есть бесконечный цикл, если нет элемента с состоянием " ИКС". Я думаю, что очень реально (конечно, зависит от вашего алгоритма), чтобы удалить цикл for и добавить код в do-while с i ++ и конечным условием вроде: while (! Array [i] .state. равно («X») & & i < array.lengh);

Смежные вопросы