如何将数字删除到java数组中?

如何将数字删除到java数组中?,java,arrays,element,Java,Arrays,Element,这是一个简单的java数组程序。 我想在用户需要时删除一个数字,但它在我的代码中不起作用,最后两个元素正常工作,但在元素开始时删除不起作用,我不想在我的代码中使用ArrayList。在用户需要时删除数组中存在的一个元素。 import java.util.Scanner; public class delete { public static void main(String[] args) { // TODO Auto-generated method stub

这是一个简单的java数组程序。 我想在用户需要时删除一个数字,但它在我的代码中不起作用,最后两个元素正常工作,但在元素开始时删除不起作用,我不想在我的代码中使用ArrayList。在用户需要时删除数组中存在的一个元素。

import java.util.Scanner;

public class delete {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        System.out.println("pls enter the size of an array:-->");
        int n=in.nextInt();

        int num[]=new int[n];
        for(int k=0;k<num.length;k++)
        {
            System.out.println("enter the value:--> "+(k+1));
            num[k]=in.nextInt();
        }

        System.out.println("Enter the number to be delete:-->");
        int m=in.nextInt();

        for(int p=0;p<num.length-1;p++)
        {
            if(m==num[p])
            {
                  num[p]=num[p+1];      
             }

        }

        for(int k=0;k<num.length-1;k++)
            System.out.println(num[k]);

    }

}
import java.util.Scanner;
公共类删除{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(系统输入);
System.out.println(“请输入数组的大小:-->”);
int n=in.nextInt();
int num[]=新的int[n];

对于(int k=0;k我建议您使用ArrayList,而不仅仅是一个数组(有关更多信息,请查看java文档),但是如果您希望这样做,应该如下所示:

只要加上这一行

for(int p=0;p<num.length-1;p++)
    {
        if(m==num[p])
        {
            num[p]=num[p+1];

            // Add this line
            m = num[p];
        }
    }

用于(int p=0;pWhy the downvotes?非常好的代码,一个非常具体的问题。在java标记中很少看到正面投票。每个人都看到它不会删除,只在数组中用下一个数字覆盖数字…,对于最后一个元素@Arynaqf来说肯定不起作用。对于一个新手程序员来说,不清楚它是否不会删除。我想他在尝试什么要做的是删除第n个元素,方法是用第n+1个元素覆盖它,然后用第n+2个元素覆盖第n+1个元素,以此类推,直到循环在最后第二个元素终止。@Verma为什么不使用动态集合:比如ArrayList?这里有一个用法示例:(只需调用list.remove(index)以删除索引处的元素)。