如何输出与输出并行的行号?

时间:2012-11-27 21:49:49

标签: java eclipse

下面是我的代码,它将从URL读取行并输出它。 我想知道如何在excel中输出行号,例如行号。

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Scanner;


public class helloworld {

    public static void main(String[] args) throws IOException {
        URL yahh = new URL("https://docs.google.com/spreadsheet/pub?key=0AqSBI1OogE84dDJyN0tyNHJENkNyYUgyczVLX0RMY3c&single=true&gid=0&range=A2%3AA200&output=txt");
        BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    yahh.openStream()));

        String inputLine;

        while ((inputLine = in.readLine()) != null)

            System.out.println(inputLine);

        in.close();

    }
}

目前输出为:

11111
22222
33333
44444
55555
66666
77777
88888
99999
100000

我希望它

1   11111
2   22222
3   33333
4   44444
5   55555
6   66666
7   77777
8   88888
9   99999
10  100000

4 个答案:

答案 0 :(得分:4)

在每次迭代时在循环中声明一个line number变量和increment

 int line=0;
 while((inputLine = in.readLine()) != null){
       line++;
       System.out.println(line + "\t" + inputLine); 
    }

答案 1 :(得分:1)

使用变量作为输出中的行计数,由制表符分隔:

    int rowCount = 1;
    while ((inputLine = in.readLine()) != null){
        System.out.println(rowCount +"\t" + inputLine);
        rowCount ++;
    }    

答案 2 :(得分:1)

你应该使用标签

int i = 1;
while ((inputLine = in.readLine()) != null)
  System.out.println(i++ + "\t" + inputLine);

答案 3 :(得分:1)

如果你确定永远不会有大量的数字,你可以使用一个标签,如:

 int line=0;
 while ((inputLine = in.readLine()) != null){
       line++;
            System.out.println(line + "\t" + inputLine); 
    }

如果你想确保防范非常大的数字,你可以做一些更奇特的事情,比如:

 int line=0;
 while ((inputLine = in.readLine()) != null){
       line++;
            System.out.println(String.format("%8s%s",line,inputLine)); 
    }

数字8-1=7是您期望拥有的最多数字。

除此之外,你必须提出一个非常复杂的答案,基本上循环一次以检测最大尺寸数,然后从那里开始。但我会把它作为读者的练习; - )