我想在這個靜態方法返回一個對象:靜態方法什麼都不返回? (試圖返回一個toString)
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
正如你所看到的,它確實打印合併成功的消息,表明它去通過正確的循環,它只是不返回帳戶摘要。
對不起,你是什麼意思? – user1740066
您沒有將Account.Consolidate(acct2,acct3)的返回值設置爲任何值。應該是類似 賬戶consolidatedAcc = Account.Consolidate(acct2,acct3); 然後用返回值做一些事情(即打印內容) – Bizmarck
感謝您的解釋。 – user1740066