myAccount[0] = new Calculations(firstName, lastName, pin);
myAccount[0] = new Calculations(totalBalance);
您好!我一直在练习一系列物体,但我遇到了一个问题。我有2个班级(驾驶和计算)。上面两行代码都在驱动器类中,但有两种不同的方法。在第一种方法中,我有第一行代码,在第二种方法中,我有第二行代码。我试图将所有4个存储在第一个索引中,但我想totalBalance会覆盖firstName,lastName和pin,我认为这是有道理的。所以我想问题是如果我需要使用单独的方法,如何在第一个对象中存储多个值?另外,如果您想知道为什么我不能在一种方法中完成所有操作,那是因为我想在一个面板中只显示firstName,lastName和pin,然后全部4在另一个面板中(firstName,lastName和pin显示为null,而totalBalance显示正确的输出,这就是我认为第二行代码覆盖第一行的原因)。提前谢谢!
答案 0 :(得分:1)
您仍应使用所有4个参数实例化Calculations
对象,并且只有两种不同的显示方法:
- 一种仅显示firstName,secondName和pin
的显示方法- 一种显示所有4个字段的显示方法。
醇>
public static void main(String[] args) throws Exception {
Calculations[] myAccounts = new Calculations[5];
myAccounts[0] = new Calculations("John", "Doe", 1234, 100.00);
System.out.println("Summary");
System.out.println(myAccounts[0].DisplaySummary());
System.out.println("Full Info");
System.out.println(myAccounts[0].DisplayFull());
}
public static class Calculations {
String firstName = null;
String lastName = null;
int pin = 0;
double totalBalance = 0;
DecimalFormat formatter;
public Calculations(String fn, String ln, int p, double tb) {
firstName = fn;
lastName = ln;
pin = p;
totalBalance = tb;
formatter = new DecimalFormat("#,###.00");
}
public String DisplaySummary() {
return String.format("First Name: %s\r\nLast Name: %s\r\nPin: %d\r\n", firstName, lastName, pin);
}
public String DisplayFull() {
return DisplaySummary() + "Total Balance: $" + formatter.format(totalBalance);
}
}
结果:
答案 1 :(得分:0)
您可以创建 setter 和 getter 方法,这样您就可以安全地正确设置值。
示例:
public class Calculations {
String firstName = null;
String lastName = null;
int pin = 0;
int totalBalance = 0;
public Calculations(String fn, String ln, int p) {
firstName = fn;
lastName = ln;
pin = p;
}
public void setTotalBalance(int total) {
totalBalance = total;
}
public int getTotalBalance() {
return totalBalance;
}
}
之后你可以这样做:
myAccount[0] = new Calculations(firstName, lastName, pin);
myAccount[0].setTotalBalance(totalBalance);
希望这有帮助。
答案 2 :(得分:0)
要在第一个索引或数组中的任何索引中存储多个值,您可以拥有多维数组。例如
myAccount[0][0] = new Calculations(firstName, lastName, pin);
myAccount[0][1] = new Calculations(totalBalance);
这将初始化为Calculations myAccount[][] = new Calculations[amount][2];