Java 不';请不要在;for loop";?

Java 不';请不要在;for loop";?,java,for-loop,Java,For Loop,这是我的密码: private String SerialNo; private String FirmVersion; public String GetSerial(int[] Data){ System.out.println("GetSerial Debug : Data => "+Data); for (int i = 2;i==13;i++){ System.out.println("In the FOR => ok ");

这是我的密码:

private String SerialNo;
private String FirmVersion;


public String  GetSerial(int[] Data){

    System.out.println("GetSerial Debug : Data => "+Data);

    for (int i = 2;i==13;i++){
        System.out.println("In the FOR => ok ");
        if (i != 9){
            SerialNo = SerialNo + Data[i];  
        }
        if (i == 9){
            SerialNo = SerialNo + ".";
        }
    }

    System.out.println("SerialNo => "+ SerialNo);
    return SerialNo;
}
我的问题是:我不能“进入”FOR

因此,我的sysout of“In the FOR=>ok”从未显示,并且所有的“操作”都没有完成

我做错了什么


ps:我确信我编译的文件是正确的。

循环条件永远不会满足
i=2
在开始时,第一次检查将失败,因此所有循环都将失败。也许应该更改为:

for (int i = 2; i <= 13; ++i)
for(inti=2;i将
for(inti=2;i==13;i++)
更改为
for(inti=2;i
它进入循环,但在第一次条件检查和退出循环时失败

应该是——

for (int i = 2;i<=13;i++)

for(int i=2;i检查您的语句:

for(inti=2;i==13;i++)

这实际上意味着:

  • 2
    分配给
    i
  • 检查
    i
    是否等于
    13
    。如果是,继续循环,否则退出
  • 因为我在循环的第一次迭代中不是13岁,所以你永远不会进入它。我相信你想写


    for(inti=2;i您的条件在第一次迭代时变为false,所以控制永远不会进入循环体

    对于循环语法:

    for(initialization; condition; increment/ decrement){
      //your code
    }
    
    因此,在这里,您必须使用一些适当的条件来进入循环

    例如:

    for (int i = 0; i <= 13; i++) // for 0 to 13 increment
    

    for(int i=0;i=0;i--)//对于10到0的减量
    您已经初始化了
    i=2

     for (int i = 2;i==13;i++)
    
    条件是
    i==13
    ,它将变成
    false
    ,最终流不会进入for循环

    尝试像这样更改代码

    for (int i = 2;i<=13;i++)
    

    for(int i=2;i语句不好应该如下所示:


    for(inti=2;ifor循环的流程是:init语句->条件检查->进入循环内部或外部,具体取决于条件结果

    这里,既然你说i=2,那么i==13是假的;它永远不会进入循环。
    您可以在for循环中使用?:运算符,然后稍微修改if语句。

    在您的
    for
    循环中,请参见比较简单的
    while循环

    考虑
    inti=2;
    值集和
    i==13
    条件

  • 你认为它会起作用吗

    for (int i = 2;i==13;i++){
      //do something
    }
    
    Same to below *while loop* explanation
    
    int i = 2;
    while (i == 13) {
        //do something
        i++;
    }
    
  • 我相信它会奏效的

    for (int i = 2;i < 13;i++){
       //do something
    }
    
    Same to below **while loop**
    
    int i = 2;
    while (i < 13) {
        //do something
        i++;
    }
    
    for(int i=2;i<13;i++){
    //做点什么
    }
    与下面相同**while循环**
    int i=2;
    而(i<13){
    //做点什么
    i++;
    }
    

  • 你初始化了
    i=2
    ,也就是说它必须等于13才能进入循环。所以你当然不会进入循环。好吧,对不起,我认为第二个参数是退出条件,但我想我只是表达错了。不,这是
    进入并停留在循环中,而…
    条件。谢谢你的澄清^是时候写“你有”而不是“紫外线”了,还是你赶时间?
    for (int i = 2;i < 13;i++){
       //do something
    }
    
    Same to below **while loop**
    
    int i = 2;
    while (i < 13) {
        //do something
        i++;
    }