有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java只读取对象的第一个数组

这是我的对象数组,因为它不允许使用arraylist,这就是我知道的。我只是用了3个,这样我就可以在做大之前练习了

veco[] accountList = new veco[3];
        accountList[0] = new veco(accountNumber,billCode,billDate,accountName,accountAddress,customerNumber, periodTo,periodFrom,presentReading,previousReading,previousBalance,dueTotal);
        accountList[1] = new veco(accountNumber,billCode,billDate,accountName,accountAddress,customerNumber, periodTo,periodFrom,presentReading,previousReading,previousBalance,dueTotal);
        accountList[2] = new veco(accountNumber,billCode,billDate,accountName,accountAddress,customerNumber, periodTo,periodFrom,presentReading,previousReading,previousBalance,dueTotal);

在这种情况下,我会查找相同的帐号。当我使用存储在accountList[0]中的accountNumber时,它将检查accountNumber。但当我使用accountNumber时,除了accountList[0],它将直接指向表示数据库中不存在帐户ID的else

System.out.print("\nEnter Account Number: ");                                                                                                                    
int b = scanner.nextInt();                                                                                                                                       
for (int j = 0; j < accountList.length; j++) {                                                                                                                   
    if (b == accountList[j].getAccountNumber()) {                                                                                                                
        System.out.println("Customer Account Number: " + accountList[j].getAccountNumber());                                                                     
        System.out.println("Customer Account Name: " + accountList[j].getAccountName());                                                                         
        System.out.println("Customer Account Address: " + accountList[j].getAccountAddress());                                                                   
        System.out.print("Customer Number: " + accountList[j].getCustomerNumber());                                                                              
                                                                                                                                                                 
        System.out.println("\nBilling Code\t\tBilling Date\t\tAmount Due");                                                                                      
        for (j = 0; j < accountList.length; j++) {                                                                                                               
            if (b == accountList[j].getAccountNumber()) {                                                                                                        
                System.out.println(accountList[j].getBillCode() + "\t\t\t" + accountList[j].getBillDate() + "\t\t\t" + (df.format(accountList[j].getDueTotal())))
            }                                                                                                                                                    
        }                                                                                                                                                        
    } else {                                                                                                                                                     
        System.out.print("Account ID doesn't exist in the database.\n");                                                                                         
        break;                                                                                                                                                   
    }                                                                                                                                                            
}                                                                                                                                                                

共 (1) 个答案

  1. # 1 楼答案

    您可以使用迭代器模式

    for (Account account : accountList) {                           
        if (account.getId() == userInputID) {                       
            // do the work 
            break;                                 
        }                                                           
    }                                                               
    System.out.print("Account ID doesn't exist in the database.\n");