【问题标题】:How to iterate backwards through an array?如何通过数组向后迭代?
【发布时间】:2015-09-25 15:47:55
【问题描述】:

我想从数组的末尾取出每个值并向后迭代到数组的中间,将每个值添加到一个字符串中:

  for (int x = testArray.length - 1; x > testArray.length/2; x--){
     b+=testArray[x];
  }

它似乎不起作用,因为当我打印 b 时它是一个空白空间。是否可以通过数组向后迭代并将值添加到字符串中。它们都是字符串值。

【问题讨论】:

    标签: arrays string for-loop iterator iteration


    【解决方案1】:

    需要注意的一点是,如果数组的长度是奇数,那么您的代码将不起作用,因为长度除以 2 将是小数。将中间索引转换为int。如果你使用了相当多的连接,你也应该使用StringBuilder

    String[] names = {", and Henry, ", ", David", "Bob"};
    StringBuilder allNames = new StringBuilder();
    
    for (int i = names.length - 1; i >= (int) names.length/2; i--)
    {
        allNames.append(names[i]);
    }
    
    System.out.println(allNames);
    

    【讨论】:

      【解决方案2】:
      String b = "";    
      for (int x = testArray.length - 1; x > testArray.length/2; x--){
           b+=testArray[x];
      }
      System.out.println(b);
      

      【讨论】:

      • 虽然这似乎回答了这个问题,但最好用文字解释这里发生的事情
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 2010-11-15
      • 2017-04-21
      • 2011-08-15
      相关资源
      最近更新 更多