数组删减问题 有一个数组 int[] ls = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };请问,如何使数组下标 逢“3”减1呢?就是当下标=3,就把当前的数去掉。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(int i=0;i<ls.length;i++){ if(i=>3){ ls[i] = ls[i+1] }} 不知道我理解的对不对?对于我程序里的数组,过滤掉索引时3,6,9的元素,也就是4,7和10。public class Replace { public static void main(String args[]){ int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int length = intArray.length - intArray.length/3; int[] target = new int[length]; int count = 0; for(int i=0; i<intArray.length; i++){ if(i%3 == 0 && i != 0) continue; target[count] = intArray[i]; count ++; } for(int i : target) System.out.print(i +" "); }}输出:1 2 3 5 6 8 9 public static void main(String[] args) { int[] ls = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] result = new int[ls.length - ls.length / 3]; for (int i = 1,j=0; i <= ls.length; i++) { if (0 == i % 3) { continue; } else { result[j++] = ls[i - 1]; } } // 输出去掉指定位数的数组 for (int i = 0; i < result.length; i++) { System.out.println(result[i]); } } public static void DelData(){ int[] ls = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9}; int lslength = ls.length; int [] newls = new int [lslength - ((lslength - 1) / 3)]; for(int i = 0 , j = 0 ; i < lslength ; i++){ if(i == 0 || i % 3 != 0) newls[j++] = ls[i]; } }不是很明白你说的意思。我这里写的是当数组下标是3,6,9......时将这个元素去掉。 java空指针异常问题,新人求教 一个 java.text.Format 中NumberFormat的问题? 请问怎样通过单击事件对 字体 进行改变 新手第一次做GUI开发,问一个弱智问题,如何设置button的位置? 怎样把一个对象拷贝到另一个对象? 怎样把一个gif动画图片缩小一点 用java做东西,除了学习java,最重要的还应该学习些什么东西? 有没有用java开发的HIS,RIS,PACS 有关用包(package)组织的问题? 这是怎么回事 类名<类名> Swing事件派发线程的疑惑
for(int i=0;i<ls.length;i++){
if(i=>3){
ls[i] = ls[i+1]
}
}
public static void main(String args[]){
int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int length = intArray.length - intArray.length/3;
int[] target = new int[length];
int count = 0;
for(int i=0; i<intArray.length; i++){
if(i%3 == 0 && i != 0)
continue;
target[count] = intArray[i];
count ++;
}
for(int i : target)
System.out.print(i +" ");
}
}
输出:
1 2 3 5 6 8 9
public static void main(String[] args) {
int[] ls = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] result = new int[ls.length - ls.length / 3];
for (int i = 1,j=0; i <= ls.length; i++) {
if (0 == i % 3) {
continue;
} else {
result[j++] = ls[i - 1];
}
}
// 输出去掉指定位数的数组
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
int[] ls = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9};
int lslength = ls.length;
int [] newls = new int [lslength - ((lslength - 1) / 3)];
for(int i = 0 , j = 0 ; i < lslength ; i++){
if(i == 0 || i % 3 != 0)
newls[j++] = ls[i];
}
}不是很明白你说的意思。
我这里写的是当数组下标是3,6,9......时将这个元素去掉。