繁体   English   中英

java方法删除数组

[英]java method removal array

我目前陷入一个Java问题,我不知道该如何进行..真的很感谢任何帮助!

问题是:

编写一个Java方法,该方法接收一个指示帐户数量的整数,该数组包含登录名以及要删除的帐户的相应密码和索引。 如果removeindex在可接受的范围内,它将删除帐户的名称和密码。 该方法返回更新的帐户数。

removeIndex :要删除的帐户的索引

*假设已经通过其他方法创建了arraysize。

 public static int removeAccount(int count, String[] nameArr, String[] paswordArr, int removeIndex){

    for(int i=0; i<count;i++){
        String target = nameArr[removeIndex];
        if(target != null){
            // what should i do here?

        }else{
           System.out.println("id does not exist");

       }

    }
    return count;
}

首先,您无法从数组中“删除”任何内容; 创建后,其大小是固定的。 因此,这里假设您想要的是将匹配值设置为null(如果尚未设置)。

还假设该计数在范围之内...

码:

if (removeIndex >= nameArr.length)
    return count;

if (nameArr[removeIndex] == null)
    return count;

nameArr[removeIndex] = null;
passwordArr[removeIndex] = null;

return count - 1;

现在,问题是不精确的。 假设您有一个包含元素的数组:

[ x, y, z ]

并且删除索引为1。操作后您希望数组的内容是什么? [ x, null, z ]还是[ x, z, null] 上面的代码假定为前者。

测试代码

试试这个代码。 我使用了ArrayList来存储帐户信息。

public class Test {
public static ArrayList accounts=new ArrayList();
public static Scanner scan;
public static void main(String args[]){
    System.out.println("Enter number of accounts to add:");
    scan=new Scanner(System.in);
    int number=scan.nextInt();

    addAccount(number);

    System.out.println("Enter index(account no.) to remove account:\n(e.g. 1,2,3 etc)");
    int removeIndex=scan.nextInt();

    number=removeAccount(number,removeIndex);
    System.out.println("Number of accounts: "+number);
}
public static void addAccount(int n){
    scan=new Scanner(System.in);
    for(int i=0;i<n;i++){
        System.out.println("Enter Username for account "+(i+1)+":");
        accounts.add(scan.nextLine());
        System.out.println("Enter Password for account "+(i+1)+":");
        accounts.add(scan.nextLine());
    }
    System.out.println("Accounts added: "+accounts);
}
public static int removeAccount(int n, int index){
    String target = (String) accounts.get((index*2)-2);
    if(accounts.contains(target)){
        accounts.remove((index*2)-2);
        accounts.remove((index*2)-2);
    }
    System.out.println("After Deletion: "+accounts);
    return n-1;
}

}


这个怎么运作:

  1. 不用 要添加的帐户数量。
  2. 添加指定的用户名和密码。 ArrayList的帐户。
  3. 要求帐号 被删除。
  4. 删除给定帐号的记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM