この静的メソッドでオブジェクトを返そうとしています:
public static Account Consolidate(Account acct1, Account acct2){
String name1 = acct1.getName();
String name2 = acct2.getName();
double acctNum1 = acct1.getAcctNumber();
double acctNum2 = acct2.getAcctNumber();
double balance1 = acct1.getBalance();
double balance2 = acct2.getBalance();
double balance3;
Account acct3 = new Account(name1);
if ((name1.equalsIgnoreCase(name2)) && (acctNum1 != acctNum2)){
balance3 = balance1 + balance2;
acct1.close();
acct2.close();
System.out.println("Consolidation successful!");
return (acct3);
}
else
System.out.println("These accounts cannot be consolidated.");
return null;
}
しかし、何も返さず、修正方法がわかりません。のように、
ドライバープログラムは次のとおりです。
import java.util.Scanner;
public class Consolidates{
public static void main(String[] args){
String name1;
String name2;
String name3;
Scanner scan = new Scanner(System.in);
System.out.println("Enter the name of the first account holder");
name1 = scan.next();
System.out.println("Enter the name of the second account holder");
name2 = scan.next();
System.out.println("Enter the name of the third account holder");
name3 = scan.next();
System.out.println();
Account acct1 = new Account(100, name1, 333333);
Account acct2 = new Account(100, name2, 555555);
Account acct3 = new Account(100, name3, 777777);
System.out.println(acct1);
System.out.println(acct2);
System.out.println(acct3);
System.out.println();
System.out.println("Closing account 1...");
System.out.println();
acct1.close();
System.out.println();
System.out.println("Attempting to consolidate accounts 2 and 3...");
Account.Consolidate(acct2, acct3);
System.out.println();
System.out.println("Printing original 3 accounts");
System.out.println(acct1);
System.out.println(acct2);
System.out.println(acct3);
}
}
最後に、出力は次のとおりです。
Enter the name of the first account holder
rick
Enter the name of the second account holder
james
Enter the name of the third account holder
james
Name: rick
Account Number: 333333
Balance: 100.0
Name: james
Account Number: 555555
Balance: 100.0
Name: james
Account Number: 777777
Balance: 100.0
Closing account 1...
Attempting to consolidate accounts 2 and 3...
Consolidation successful!
Printing original 3 accounts
Name: CLOSED
Account Number: 333333
Balance: 0.0
Name: CLOSED
Account Number: 555555
Balance: 0.0
Name: CLOSED
Account Number: 777777
Balance: 0.0
ご覧のとおり、ループを正しく通過したことを示す統合成功メッセージが出力され、アカウントの概要が返されないだけです。