【问题标题】:how to print array elements in column如何在列中打印数组元素
【发布时间】:2016-09-20 02:27:33
【问题描述】:

我正在从文本文件 exnames.txt 中读取名称

aaa bbb ccc ddd
bbb kkk zzz fff

代码在这里,

try {
            BufferedReader br = new BufferedReader(new FileReader("XML/exnames.txt"));
            while (true) {          
                String line = br.readLine();                
                if (line == null) 
                    break;
            //  System.out.println(line);
                String[] data = line.split("\t");   
                for(int i=0;i<data.length;i++)
                    System.out.println(data[i] + data[i+1]);
            }
        }
        catch(Exception e)
        {
            System.out.println("error "+e);
        }

我想按以下顺序打印

aaa bbb
aaa ccc
aaa ddd
bbb kkk
bbb zzz
bbb fff

重复第一个元素并循环遍历第二个元素 如果我用户 array[i]+array[i+1] 它给出了 indexbound 异常,请帮助..

【问题讨论】:

  • 阅读错误,这很不言自明。循环到data.length - 1,因为访问i + 1 可能会导致它访问数组边界之外。
  • 如果你说 i
  • 不,这不是他们想要的

标签: java arrays for-loop


【解决方案1】:

如果你想在每一行打印data的第一个元素,加上当前元素,试试这个:

for (int i = 1; i < data.length; i++) { // loop starting on 1 (the second element)
    System.out.println(data[0]+" "+data[i]); // first element + space + current element
}

这将在概念上打印:

data[0] data[1]
data[0] data[2]
data[0] data[3]
...

【讨论】:

    【解决方案2】:

    //遍历你的列表

    for (int i = 1; i < data.length; i++) {
        System.out.println(data[i-1]+" "+data[i]); 
    // first and second element is printed
        System.out.println(data[i-1]+" "+data[i+1]); 
    // first and third element is printed
        System.out.println(data[i-1]+" "+data[i+2]); 
    // first and fourth element is printed
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多