我是菜鸟.
问大家一个for循环的问题.希望大家可以帮我解决!
int invoiceNum =10;
int invoiceNumX;
String arrValue ="11,15,"; 
for(int i=0;i<3; i++)
{
invoiceNumX = invoiceNum++;  //为 10,11,12
String[] arrValueX = arrValue.split(",");
for(int j=0;j<arrValueX.length ;j++)
{
if(String.valueOf(invoiceNumX).equals(arrValueX[j]))
{
//System.out.println("包含有的发票号码是====="+arrValueX[j]);
//arrValueX[j].
//invoiceNumX++;
//continue ;
                    break; 
}

}
System.out.println("是====="+invoiceNum);
}现在的问题是这样的:  如果检测到arrValue 的值跟arrValueX[j]有相同的,就跳出!继续往下执行!累加!
像上面的程序 最终应该输出为: 10,12,13

解决方案 »

  1.   

    1.首先LZ你的问题是一个陈述句..
    这条我靠连蒙带猜可以大概理解LZ的意思,所以略过2.两条println前面都有"包含有的发票号码是=====","是====="的字样..
    如何只输出10,12,13..3.如果检测到arrValue 的值跟arrValueX[j]有相同的...
    arrValueX[j]就是从arrValue拆分出来的啊...equals的话肯定不会相同的,相信我
      

  2.   

    int invoiceNum =10;
    int invoiceNumX;
    String arrValue ="11,15,";
    String[] arrValueX = arrValue.split(",");
    boolean flag = false;
    for(int i=0;i <3; ){
    invoiceNumX = invoiceNum++;  //为 10,11,12

    for(int j=0;j <arrValueX.length ;j++){
    if(String.valueOf(invoiceNumX).equals(arrValueX[j])){
    flag = true;
    break;
    }
    }
    if(flag){
    flag = false;
    continue;
    }
    System.out.println("是====="+invoiceNumX);
    i++;


    }
      

  3.   

    int invoiceNum =10;
    int invoiceNumX;
    String arrValue ="11,15,";
    String[] arrValueX = arrValue.split(",");
    boolean flag = false;
    for(int i=0;i <3; ){
    invoiceNumX = invoiceNum++;  //为 10,11,12

    for(int j=0;j <arrValueX.length ;j++){
    if(String.valueOf(invoiceNumX).equals(arrValueX[j])){
    flag = true;
    break;
    }
    }
    if(flag){
    flag = false;
    continue;
    }
    System.out.println("是====="+invoiceNumX);
    i++;


    }
      

  4.   

    打印的值应该为11吧,arrValueX[]的值为11和15,invoiceNumX的值为10、11、12总之感觉你表示的不清楚,不知道到底哪里才是注释。
      

  5.   

    就是arrValueX[]的值跟invoiceNumX的值 进行比较啊如果发现相同的,就跳过!
    比如:上面的程序,11不是相同嘛.那就跳过. 输出 10,12,13
      

  6.   

    恩 感谢qsrock 
    加分!!其它的楼主,我难道说的还不清楚嘛?qsrock 为什么可以理解呢!
    还是谢谢大家!!
      

  7.   

    第1你说得不明白,还有下面打印的是10、12、13
    public class Test { public static void main(String[] args) {

    int invoiceNum =10;
    int invoiceNumX;
    String arrValue ="11,15,";
    String[] arrValueX = arrValue.split(",");
    boolean flag = false;
    for(int i=0;i <3; ){
    invoiceNumX = invoiceNum++;  //为 10,11,12

    for(int j=0;j <arrValueX.length ;j++){
    if(String.valueOf(invoiceNumX).equals(arrValueX[j])){
    flag = true;
    break;
    }
    }
    if(flag){
    flag = false;
    continue;
    }
    System.out.println(invoiceNumX);
    i++;

    }  }
    }
      

  8.   

    1.System.out.println("是====="+invoiceNum);
    放错地方了放在
        break; 

    System.out.println("是====="+invoiceNum); 

    } 2.invoiceNumX = invoiceNum++;  //为 10,11,12 
    不对  这是 11 12 13
    你要想检查10 11 12 13这四个数,就要循环4次不是3次
    就要
    invoiceNumX = invoiceNum;
    ...
        break; 

    System.out.println("是====="+invoiceNum); 

    invoiceNum++;
    } 3.还有你逻辑纯在严重问题,说都不会话了,写的代码逻辑也不正确,建议lz换个职业吧
      

  9.   

    强烈鄙视 楼上的lzk0523 靠 你大爷的 你水平很吊嘛?
    垃圾!