gpt4 book ai didi

java - 静态方法什么都不返回? (试图返回一个 tostring)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:50:33 25 4
gpt4 key购买 nike

我试图在这个静态方法中返回一个对象:

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

如您所见,它确实打印了合并成功消息,表明它正确地通过了循环,只是没有返回帐户摘要。

最佳答案

您实际上从未对返回值做任何事情:

Account.Consolidate(acct2, acct3);

关于java - 静态方法什么都不返回? (试图返回一个 tostring),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com