For Loop在Java中没有增加

时间:2017-10-16 22:04:15

标签: java

在for循环中,i ++没有增加到下一个值,任何人都可以帮助我......

import java.io.*;

public class MyClass {

    public static void main(String args[]) throws Exception {

        try{
            String splitBy = ",";

            BufferedReader br = new BufferedReader(new FileReader("test.csv"));

            String line;

            while((line = br.readLine()) !=null){

                String[] b = line.split(splitBy);


                for(int i=1;i<b.length;i++){

                    for(int j=1;!b[j].equals('\n');j++){

                        System.out.println(i+ " " +b[j]+ " " +(b[j]+i));

                    }

                }

            }

            br.close();

        }
        catch(ArrayIndexOutOfBoundsException a){
        }
    }

}

csv文件:

no,a,b,c,d
1,a1,b1,c1,d1
2,a2,b2,c2,d2
3,a3,b3,c3,d3
4,a4,b4,c4,d4
5,a5,b5,c5,d5

必需的输出:

1 a a1
1 b b1
1 c c1
1 d d1
2 a a2
2 b b2
2 c c2
2 d d2
...

1 个答案:

答案 0 :(得分:0)

BufferedReader的readLine()方法返回没有任何行终止字符\ n或\ r \ n的行的字符串 如果你想读取分割线直到最终项目你可以改变使用j&lt; b.length而不是内部循环中的!b [j] .equals(&#39; \ n&#39;)

import java.io。*;

公共类MyClass {

public static void main(String args[]) throws Exception {

    try{
        String splitBy = ",";

        BufferedReader br = new BufferedReader(new FileReader("test.csv"));

        String line;

        while((line = br.readLine()) !=null){

            String[] b = line.split(splitBy);


            for(int i=1;i<b.length;i++){

                for(int j=1;j<b.length;j++){

                    System.out.println(i+ " " +b[j]+ " " +(b[j]+i));

                }

            }

        }

        br.close();

    }
    catch(ArrayIndexOutOfBoundsException a){
    }
}

}