• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何迭代数组并跳过一些?

java 来源:Beatrice 4次浏览

例如,我有这样的阵列在我的Java程序:如何迭代数组并跳过一些?

String nums[] = {"a", "b", "c", "d", "e", "f", "g", "h" ...} 

我想要写一个循环,将遍历数组,并采取每2和第3个字母和他们每个人存储在两个连续指数法在数组中,跳过第4个,取第5个和第6个字母,并将每个连续两个索引存储在一个数组中,跳过第7个并继续处理未知大小的数组。

所以最终的阵列将nums2 = {"b", "c", "e", "f", "h", "i"...}


===========解决方案如下:

这将运行并打印out = b, c, e, f, h, i

public class Skip { 
    public static String[] transform(String[] in) { 
     int shortenLength = (in.length/3) + ((in.length % 3 > 0) ? 1 : 0); 
     int newLength = in.length - shortenLength; 
     String[] out = new String[newLength]; 
     int outIndex = 0; 
     for (int i = 0; i < in.length; i++) { 
      if (i % 3 != 0) { 
       out[outIndex++] = in[i]; 
      } 
     } 
     return out; 
    } 

    public static void main(String[] args) { 
     String[] nums = {"a", "b", "c", "d", "e", "f", "g", "h", "i" }; 
     String[] out = transform(nums); 
     System.out.println("out = " + String.join(", ", out)); 
    } 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)