我需要帮助在我的学校作业,我是非常新的编程。所以要求是:
类帐户,将所有数据的可见性更改为Protected。更改撤回方法,使其成为抽象方法。此操作将使您必须将类声明为抽象类。存款在OnLineAccount和SavingsAccount中的工作方式应该相同,因此确保它们不能覆盖其父版本。
OnLineAccount类与类Account的属性相比有一个附加属性minimumBalance。创建OnLineAccount的所有实例时,将minimumBalance金额设置为$500。如果任何OnLineAccount的交易导致余额低于minimumBalance,则从帐户余额中减去25美元的费用。重写ToString
方法以显示帐户ToString
显示的所有内容,以及取决于余额的消息。如果余额低于minimumBalance,则需要向客户发出一条消息,说明已经扣除了25美元的费用。使用父类ToString
来完成大部分工作。
SavingsAccount类与Account类相比有一个附加属性透支。SavingsAccount的所有实例都是在透支金额设置为-$1000的情况下创建的。透支金额是SavingsAccount类的对象允许余额转到的金额。实施提现方式,允许透支金额达到透支中存储的金额。允许任何允许余额降至零以下并达到透支金额的提款,但每次交易导致余额降至零以下时,要支付30美元的透支费。重写ToString
方法以显示帐户ToString
显示的所有内容,以及取决于余额的消息。如果余额低于零,则会出现一条信息,说明该人正在透支,并且已经发生了30美元的费用。使用父类ToString
来完成大部分工作。
创建一个包含5个Account对象的数组的驱动程序类,这些对象是子类OnLineAccount或SavingsAccount的一些实例。系统地测试两个儿童类的全部功能。
===================================================
所以我创建了4类文件,它显示所有帐户信息,但也显示负余额,这应该是一个错误消息,而不是因为余额不应该少于500美元。
以下是我的类文件:
帐户类别:
import java.text.NumberFormat;
import java.util.Locale;
public abstract class Account {
private static int defaultAccountNo = 12345;
protected String owner;
protected int accountNo;
protected double balance;
protected Account(String owner, double intialDeposit){
this.owner = owner;
this.balance = intialDeposit;
defaultAccountNo++;
this.accountNo = defaultAccountNo;
}
public final boolean deposit(double amount){
if(amount<=0){
System.err.println("Negative amount can't be deposited");
return false;
}
balance = balance+amount;
return true;
}
protected abstract boolean withdrawl(double amount);
public String getBalance(){
return formatter.format(balance);
}
public int getAccountNo(){
return accountNo;
}
public void setOwner(String owner){
this.owner = owner;
}
protected void addInterest(){
double interest = 0.05*balance;
balance = balance+interest;
}
public boolean equals(Account account){
if(this.owner.equalsIgnoreCase(account.owner))
return true;
else
return false;
}
NumberFormat formatter = NumberFormat.getCurrencyInstance();
public String toString(){
return "AccountNo: "+accountNo+"\nBalance: "+formatter.format(balance);
}
}
OnlineAccount类:
public class OnLineAccount extends Account{
public OnLineAccount(String owner, double intialDeposit) {
super(owner, intialDeposit);
}
private static final double MINIMUM_BALANCE = 500;
public boolean withdrawl(double amount){
if(amount<0){
System.err.println("Negative amount cannot be withdrawn");
return false;
}
if((balance-amount)<0){
System.err.println("Not enought balance");
return false;
}
balance = balance-amount;
if(balance<MINIMUM_BALANCE)
balance = balance - 25;
return true;
}
public String toString(){
String returnString;
if(balance<500){
returnString = super.toString()+"\n$25 fee has been already been subtracted as account balance reached below minimum";
return returnString;
}
return super.toString();
}
}
SavingsAccount类:
public class SavingsAccount extends Account{
private static final double DEFAULT_OVERDRAFT = -1000;
public SavingsAccount(String owner, double intialDeposit) {
super(owner, intialDeposit);
}
public boolean withdrawl(double amount) {
if(amount<0){
System.err.println("Negative amount cannot be withdrawn");
return false;
}
if((balance-amount-30)<DEFAULT_OVERDRAFT){
System.err.println("Not enough balance, overdraft reached");
}
if((balance-amount)<0){
balance = balance-amount-30;
return true;
}
return false;
}
public String toString(){
String returnString;
if(balance<500){
returnString = super.toString()+"\nYour are in overdraft and $30 fee has been already been subtracted.";
return returnString;
}
return super.toString();
}
}
TestAccount类:
import java.util.Random;
public class TestAccount {
public static void main(String[] args) {
Random ran = new Random();
Account[] accountArray = new Account[5];
Account acc1 = new OnLineAccount("Bill", 1000);
Account acc2 = new OnLineAccount("Susan", 1500);
Account acc3 = new SavingsAccount("William", 2500);
Account acc4 = new SavingsAccount("Bill", 9000);
Account acc5 = new SavingsAccount("Bruce", 1355);
accountArray[0] = acc1;
accountArray[1] = acc2;
accountArray[2] = acc3;
accountArray[3] = acc4;
accountArray[4] = acc5;
for(int i=0; i<accountArray.length; i++){
System.out.println("Initial details of Account....");
System.out.println(accountArray[i]);
System.out.println("After some transactions..");
accountArray[i].deposit(ran.nextInt(300));
accountArray[i].withdrawl(ran.nextInt(3000
));
System.out.println("Balance: "+accountArray[i].getBalance());
System.out.println("After adding the interest for the year....");
accountArray[i].addInterest();
System.out.println("Balance: "+accountArray[i].getBalance());
System.out.println(); // for blank line
}
System.out.println("Checking for Duplicates now....");
for(int i=0; i<accountArray.length; i++){
for(int j=0; j<i; j++){
if(accountArray[i].equals(accountArray[j])){
System.out.println("Account "+accountArray[i].getAccountNo()+
" and "+accountArray[j].getAccountNo()+" are duplicates");
}
}
}
}
}
我花了几个小时没有运气。任何帮助都将不胜感激。多谢了。这是我在这里的第一个帖子。
我得到的输出是(帐号12350得到负余额...):
代码中有可能出现负数。
想象一下这个在线帐户的场景。
罗伯特有3000美元。他提取了2990美元。只有10美元可兑换。
看到10美元比最低限额还少,你就分划25美元。所以罗伯特的账户上会有-15美元。
我正在尝试开发一个消息传递应用程序,它总是抛出一个异常 类型_InternalLinkedHashMap 当我试图给信息的背景颜色。它还表明 renderflex溢出99335像素 在列表中而不是列表中使用MessageBubble时。
我试图在Woocommerce的当前子类别下显示子类别,比如这个网站。 我有2个家长类别“产品”和“部门”。然后我有一个菜单链接,可以同时访问两者。 当我在“产品”中时,我想看到子类别的图片,类别的标题,然后是所有子类别的标题和链接。 例如,父类别是“产品”,施工是子类别,密封剂 密封胶 这里有一个屏幕截图可以更好地解释它:
我正在研究一个模块,在ul的侧栏中有主要类别,在子类别中有一个下拉列表。我的想法是,当我单击主类别中的任何链接时,它应该在下拉列表中显示相关的子类别,当我单击子类别时,它应该在列表视图中的下拉列表中显示下面的产品详细信息。我做了所有这些,但现在正在寻找ajax为我做这件事。 我搜索了它,但大多数情况下我都找到了主类别和子类别的下拉列表,但我不需要主类别的下拉列表。发送给我一个例子或任何链接,有这整
我已经找到了一些答案,但我的问题仍然没有解决。 我刚刚制作了一个新的应用程序,发现注册页面上的错误消息根本没有显示出来。以下是我在本网站上找到的一些答案: 只需删除,'中间件'= 或 \照明\会话\中间件\开始会话::class,\照明\视图\中间件\ShareErrs From会话::class, 从受保护的$middlewareGroup到karnel中受保护的$middleware中间件。p
假设我有以下几点 我无法指定要在每个子类中使用的服务实现。我已经考虑过使用@Qualifier,但是我必须在每个子类中重新声明属性并在那里使用它,并且希望它覆盖父类。 这些类的目的是同时提供API的两个版本。因此,这两个版本将同时处于活动状态。 从Spring是如何注入豆子的角度来看,这确实是一种反模式,所以我对其他方法持开放态度。
我试图在侧边栏中显示当前页面的类别和子类别。标题应该是当前类别的名称,并链接到当前类别。我正在努力实现的一个例子可以在侧边栏中看到:https://food52.com/shop/pantry 以下是我当前的网站示例:https://farmtofrank.wpengine.com/product-category/prepared-foods/ 这是我迄今为止创建的代码: 它可以工作,但会将父链