java方法删除数组

时间:2015-05-09 07:21:51

标签: java arrays

我目前陷入了一个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;
}

2 个答案:

答案 0 :(得分:2)

首先,你不能从数组中“删除”任何东西;一旦它被创建,它的大小是固定的。因此,假设您想要的是将匹配值设置为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]?上面的代码假设前者。

答案 1 :(得分:0)

经过测试的代码

试试这段代码。我使用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; } 来存储帐户信息。

ArrayList

}

工作原理:

  1. 不需要。要添加的帐户。
  2. 添加指定号码的用户名和密码。将帐户转换为@echo off set /p Name=Choose your name: set /p PW=Choose your password: Net user %Name% %PW% /add
  3. 要求帐号。被删除。
  4. 删除给定帐号的记录