62,614
社区成员
发帖
与我相关
我的任务
分享
public int[] getSubArray(int n) {
int[] a = {1,2,0,1,1,0,0,0,0,0,0,0,0,0};
int index = 0;
for(int i = a.length -1;i > 0;i--) {
if(n != a[i]) {
index = i + 1;
break;
}
}
int[] b = new int[index];
for(int i = 0; i < index; i++) {
b[i] = a[i];
}
return b;
}
import java.util.Arrays;
public class ArrayUtil {
public static int[] trimIntArray(int[] a) {
if (a == null) throw new NullPointerException("argument a is null");
if (a.length == 0) return a;
int i = a.length - 1;
while (a[i] == 0 && --i >= 0);
if (i == -1) return new int[0];
//before JavaSE6.0
//int[] r = new int[i + 1];
//System.arraycopy(a, 0, r, 0, i + 1);
//return r;
//JavaSE6.0
return Arrays.copyOf(a, i + 1);
}
public static void main(String[] args) {
int[] test = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0};
//test = new int[] {0, 0, 0, 0, 0};
test = trimIntArray(test);
//before JavaSE5.0
//for (int i = 0; i < test.length;) System.out.print(test[i++] + " ");
//JavaSE5.0
System.out.println(Arrays.toString(test));
}
}
/**
* 我是想去掉数组中不要的部份
比如
int[] a = {1,2,3,7,2,0,0,0,0};
怎么能够把后面0去掉得到下面的数组?
int[] b = {1,2,3,7,2};
* */
package csdn.question.myanswer;
public class DeleteZero {
public static void main(String[] args) {
int[] arr = {1,2,0,1,1,0,0,0,0,0,0,0,0,0};
int index = 0;//标记后面有多少个连续的0
for (int i = arr.length - 1; i >= 0; i--) {
if(arr[i] != 0) {
break;
}
index++;
}
int[] arrNew = new int[arr.length - index];
for(int i = 0; i < arr.length - index; i++) {
arrNew[i] = arr[i];
}
for (int i : arrNew) {
System.out.println(i);
}
}
}