java如何删除数组的元素??

比如,inta={1,2,3,4,5};4我不想要了,就是数组变成inta={1,2,3,5};怎么写??3Q!... 比如,int a = { 1,2,3,4,5};

4我不想要了,就是数组变成int a = { 1,2,3,5};

怎么写?? 3Q!
展开
 我来答
未来需努力点缀
推荐于2017-09-26 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:531万
展开全部
楼主你好

具体代码如下:
public class Test {

private int a[] = {1,2,3,4,5};//数组初始值1 2 3 4 5

public void delete(int n)//删除数组中n的值
{
for (int i = 0; i < a.length; i++) {
if(a[i] == n)
{
for(int j = i; j < a.length-1; j++)
{
a[j] = a[j+1];
}
}
}
}
public void print()//打印数组
{
for (int i = 0; i < a.length-1; i++) {
System.out.println (a[i]);
}
}

public static void main(String[] args) {
Test t = new Test();
t.delete(4);
t.print();
}
}

运行结果:
1
2
3
5

希望能帮助你哈
fuhaiwei
2013-04-29 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1388万
展开全部
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class T {

public static void main(String[] args) {
int[] array = new int[] { 1, 2, 3, 4, 5 };
System.out.println(Arrays.toString(array));

array = deleteByValue(array, 4);
System.out.println(Arrays.toString(array));

array = deleteByIndex(array, 0);
System.out.println(Arrays.toString(array));

}

public static int[] deleteByIndex(int[] array, int index) {
int[] newArray = new int[array.length - 1];
for (int i = 0; i < newArray.length; i++) {
if (i < index) {
newArray[i] = array[i];
} else {
newArray[i] = array[i + 1];
}
}
return newArray;
}

public static int[] deleteByValue(int[] array, int value) {
List<Integer> list = new ArrayList();
for (int i : array) {
if (i != value) {
list.add(i);
}
}
int[] newArray = new int[list.size()];
for (int i = 0; i < newArray.length; i++) {
newArray[i] = list.get(i);
}
return newArray;
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
推荐于2017-10-09 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:953万
展开全部
public class $ {

    public static void main(String[] args) {

        int[] arr = { 1, 2, 3, 4, 5, 4 };

        show(arr);
        arr = remove(arr, 4);
        show(arr);
    }

    // 一次只能删除一个元素
    private static int[] remove(int[] arr, int num) {

        int[] tmp = new int[arr.length - 1];

        int idx = 0;
        boolean hasRemove = false;
        for (int i = 0; i < arr.length; i++) {

            if (!hasRemove && arr[i] == num) {
                hasRemove = true;
                continue;
            }

            tmp[idx++] = arr[i];
        }

        return tmp;
    }

    private static void show(int[] arr) {

        for (int i : arr) {
            System.out.print(i + ",");
        }
        System.out.println();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神机天下
2013-04-28 · TA获得超过175个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:182万
展开全部

没有直接删除的办法 ..

int[] a = {1,2,3,4,5};
//假设删除a[3]=4;

for(int i=3;i++;i<a.length-1){
    a[i]=a[i+1]
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式