Java数组输入

时间:2012-08-19 07:29:29

标签: java arrays

好吧我对java有点新意,但我确实谷歌搜索创建方法并获得了混合结果,所以我对如何实现这一点感到有点困惑。 基本上我有一个数组,将存储20个唯一的帐号,不多也不多。 除了存储帐号,我还会给用户提供存储帐户余额的选项(钱,是的,你猜对了这是银行帐户的一种家庭作业)

所以我面临的问题是,对于程序运行时的过程,如果用户决定添加15个计数,我想知道如何将后续的accno条目放入下一个空闲数组索引中。并且还会触发一条消息,表示在将帐户数量限制为20

后,无法再添加帐户
public static void addAccount()
{

    int i=0;
    String accno, input;
    double accbal;
    Scanner sc = new Scanner(System.in);
    String[] accnums = new String[20];
    System.out.print("Enter the account number:");
    accno = sc.nextLine();

    if(accno.length() != 9) //the accno shld not be more than 9.
    {
        System.out.println("Wrong accnum");
    }
    else
    {
       //THis is the part i am not sure how to put the code tks.
    }

    input= accnums[1];
   System.out.println("The value:"+input);//this is just for me to display / test
}

2 个答案:

答案 0 :(得分:0)

为什么不使用hashmap而不是数组?创建一个具有特征属性的Account类。然后创建一个AccountManager类作为Singleton(http://it.wikipedia.org/wiki/Singleton)。在ACcountManager中添加一个hashmap私有属性和一些用于添加的方法,并通过密钥对帐户进行索引。

答案 1 :(得分:0)

最简单(虽然不是最有效,但我不认为这是一个问题)可以循环并查找null,并将其放在第一个null值中:

int j;
for (j = 0; j < accnums.length; j++)
  if (accnums[j] == null) break;
if (j==accnums.length)  {
  // error msg, the array is already full
} else { 
  //insert element into index j
}