在Java中初始化局部变量

时间:2014-10-12 10:32:15

标签: java variables initialization nested do-while

我即将发布一个查询但是我通过重新编写代码来解决问题,避免了问题,但没有回答。

以下是我想要做的一个例子。

我在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;

2 个答案:

答案 0 :(得分:0)

您可以通过在声明时为i提供初始值来轻松解决此问题:

int i = 0;

答案 1 :(得分:0)

你必须在do-while之前初始化变量i。

在do-while循环中,您可以重置变量。现在你已经完成了for条件。

另一方面,我不知道你的代码内容是什么以及算法的逻辑,但我认为如果没有任何元素具有状态“X”,你可能会有一个无限循环”。我认为它确实非常可行(当然取决于你的算法)去除for循环并在do-while中添加代码与i ++和结束条件如下:while(!array [i] .state。等于(“X”)&amp;&amp; i&lt; array.lengh);