我的flexiblesavingsaccount应该每年增加1.2%的利息,每月复合。另一方面,CD储蓄账户每年增加4%的利息,并按季度复合。我已经设法让程序在第一个月给余额增加利息,但在那之后,它只是保持不变。在第0个月,它说当flexiblesavingsaccount需要2000和CDSavingsAccount需要3000时,余额为0。一旦该计划通过12个月,它应该是两个账户的余额相加。我相信这部分是有效的,只是我现在得到的平衡错了
下面是我的驱动程序类:import java.util.*;
public class SavingsAccountDriver1{
public static void main(String[] args){
FlexibleSavingsAccount1 saver1 = new FlexibleSavingsAccount1(10002,2000); //could be FlexibleSavingsAccount saver1
CDSavingsAccount1 saver2 = new CDSavingsAccount1(10003,3000);//CD SavingsAccount saver 2
saver1.annualInterestRate=.012;
saver2.annualInterestRate = .04;
int i;
System.out.println("Month\tAccount # Balance\tAccount # Balance");
System.out.println("-----\t--------- -------\t--------- -------");
System.out.print(" 0");
printFlex(saver1);
printCD(saver2);
System.out.println();
for(i=1;i<=12;i++)
{System.out.printf("%5d",i);
printIntFlex(saver1);
printIntCD(saver2);
System.out.println();
}
System.out.printf("Final balance of both accounts combined: %.2f\n",(saver1.getMonthlyInterest()+saver2.getMonthlyInterest()));
}
public static void printIntFlex(FlexibleSavingsAccount1 f){
getIntFlex(f);
printFlex(f);
}
public static void printIntCD(CDSavingsAccount1 c){
getIntCD(c);
printCD(c);
}
public static void printFlex(FlexibleSavingsAccount1 f){
System.out.printf("%12d%10.2f ",f.getAccount_Number(),f.getMonthlyInterest());
}
public static void printCD(CDSavingsAccount1 c){
System.out.printf("%12d%10.2f ",c.getAccount_Number(),c.getMonthlyInterest());
}
public static void getIntFlex(FlexibleSavingsAccount1 f){
f.addMonthlyInterest(f.getBalance());
}
public static void getIntCD(CDSavingsAccount1 c){
c.addMonthlyInterest(c.getBalance());
}
}
下面是我的SavingsAccount超类:公共抽象类SavingsAccount1{private double balance;private final int account_number;
public SavingsAccount1(){
this.balance = 0.0;
this.ACCOUNT_NUMBER =0;
}
public SavingsAccount1(int ACCOUNT_NUMBER, double balance)
{
this.balance = balance;
this.ACCOUNT_NUMBER = ACCOUNT_NUMBER;
}
public abstract void addMonthlyInterest(double balance);
public double getBalance()
{ return balance;
}
public void setBalance(double balance){
this.balance = balance;
}
public int getAccount_Number()
{
return ACCOUNT_NUMBER;
}
public String toString(){
return String.format("%s", getAccount_Number());
}//end of toString
}
以下是我的FlexibleSavingsAccount子类:
public class FlexibleSavingsAccount1 extends SavingsAccount1{
public static double annualInterestRate;
public static double b;
public FlexibleSavingsAccount1 (int ACCOUNT_NUMBER, double balance){
super(ACCOUNT_NUMBER, balance);
}//end of
@Override public void addMonthlyInterest(double balance){
b =balance +(balance * (annualInterestRate / 12));
this.b = b;
}
public double getMonthlyInterest(){
return b;
}//end of getMonthlyInterest
public String toString(){
return String.format("%s %s", super.toString(), getMonthlyInterest());
}//end of toString
}//FlexibleSavings帐户结束
下面是我的CDSavingsAccount子类:
public class CDSavingsAccount1 extends SavingsAccount1{
public static double annualInterestRate;
public static double b;
public CDSavingsAccount1 (int ACCOUNT_NUMBER, double balance){
super(ACCOUNT_NUMBER, balance);
}//end of
@Override public void addMonthlyInterest(double balance){
b =balance +(balance * (annualInterestRate / 4));
this.b = b;
}
public double getMonthlyInterest(){
return b;
}//end of getMonthlyInterest
public String toString(){
return String.format("%s %s", super.toString(), getMonthlyInterest());
}//end of toString
对不起所有的代码,我从来没有搞乱多态或继承以前,我的老师真的很糟糕。我想这就是我的问题所在。你能给的任何帮助都很棒。
在SavingsAccount1
中,更改构造函数以允许给定annualInterestRate参数。为它创建一个getter就完成了。
关于FlexiblesAvingsAccount1
类(由于与CDSavingsAccount1
类的相似之处,我将提到的所有内容都适用于这两个类):
扩展类时,继承父类的所有属性
和方法
,因此不需要在子类中定义annualinterestrate
属性。你看,这正是我们使用继承的原因。1-是这样我们就不会后悔自己,并不断地键入相同的html" target="_blank">代码不止一次。2-它允许我们强制一个共同的签名/行为。从抽象类扩展而来的类必须为抽象方法提供实现,或者本身必须是抽象的,增加一个抽象层。
这个变量b很适合保存monthlyInterest的值,但您似乎从来没有在设计中实际使用过它。ps:如果要保留它,则必须将其重命名为更有意义的内容,而不是b
。
因此,您应该消除这两个属性,因为您从不使用它们。
在AddMonthlyInterest
方法中,计算monthlyInterest的值并将其赋值给b,然后将b赋值给它本身。这显然是错误的,你需要改变帐户的实际余额。
public void addMonthlyInterest(double balance) {
setBalance(balance + (balance * (annualInterestRate / 12)));
}
FlexibleSavingsAccount1 saver1 = new FlexibleSavingsAccount1(10002, 2000, .012);
CDSavingsAccount1 saver2 = new CDSavingsAccount1(10003, 3000, .04);
System.out.println("Month\tAccount # Balance\tAccount # Balance");
System.out.println("-----\t--------- -------\t--------- -------");
System.out.print(" 0");
print(saver1);
print(saver2);
System.out.println();
for (int i = 1; i <= 12; i++) {
System.out.printf("%5d", i);
printInt(saver1);
printInt(saver2);
System.out.println();
}
System.out.printf("Final balance of both accounts combined: %.2f\n",
(saver1.getBalance() + saver2.getBalance()));
}
public static void printInt(SavingsAccount1 f) {
getInt(f);
print(f);
}
public static void print(SavingsAccount1 f) {
System.out.printf("%12d%10.2f ", f.getAccount_Number(),
f.getBalance());
}
public static void getInt(SavingsAccount1 f) {
f.addMonthlyInterest(f.getBalance());
}
方法getInt(SavingsAccoutn1 f)
是一个很好的例子,多态性是什么。现在,您将使用两个子对象调用此方法,并且这两个子对象都将根据在其类中定义的它们自己的唯一实现来addMonthlyInterest。这就是多态性的定义:两个相关但不同的对象获得相同的顺序,但作用于它的方式不同。
您应该将此方法重命名为更具解释性的方法。
最后,关于类命名约定的一句话,即所有类都以1结尾,例如savingsaccount1
结尾,这让我认为您没有完全理解类的概念。类是一个蓝图,它使我们能够创建许多相同类型的对象,因此它的名称不应该与任何特定的实例/对象“绑定”。
常量express=require(“express”); 常量bodyParser=require(“body-parser”); 常量request=require('request'); 常量https=require(“https”); 常量app=express(); app.use(express.static(“public”)); app.use(BodyParser.URlenC
进程 c:在函数“主要”中: prog.c:35:20:警告:格式“%d”需要类型为“int”的参数,但参数3的类型为“void * ”[-w format =]printf(" \ n % c \ t % d \ t identifier \ n ",c,p);^ prog. c: 47:24:警告:格式'%d'需要类型'int'的参数,但参数3的类型'void*'[-Wformat=]prin
它表示TypeError:无法读取未定义的属性(读取'then')。我需要先显示警报消息,然后再打开窗口。打开站点。
致命错误:未捕获错误:在null上调用成员函数get_status() 我已经安装了WooCommerce和WooCommerce订阅,以及YITH WooCommerce自定义我的帐户页面。当我点击查看订阅时,我得到一个关于网站有问题的错误。当我在Chrome中显示控制台和/或启用调试时,我会收到以下错误消息。任何帮助都非常感谢! 致命错误:未捕获错误:在/www/wp-content/plug
我正在使用firebase auth的电子邮件和密码登录。 现在,当我更改帐户时,显示的用户名将根据更改的帐户而更改。我想在不更改用户名的情况下发布多个帐户。 这是用于声明名称的代码: 注册代码: 邮政编码:
问题内容: 我正在寻找不在我的网站页面上显示instagram照片的方法,但是不能显示。如果我只有instagram用户的帐户名(例如jamieoliver),该怎么办?我的网站写在Wordpress上。 需要不显示 我的 图像 问题答案: 此URL格式将返回一个json文件,其中包含来自该用户的最新(20 +/-)媒体文件。 在您的示例中,您可以执行http://instagram.com/ja