Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要Java使用接口的帮助吗 我在获取o/p时遇到问题_Java_Interface_Polymorphism - Fatal编程技术网

需要Java使用接口的帮助吗 我在获取o/p时遇到问题

需要Java使用接口的帮助吗 我在获取o/p时遇到问题,java,interface,polymorphism,Java,Interface,Polymorphism,存款金额……10000.0 提取金额…4999.0 储蓄账户余额为:5001.0卢比 存款金额…9000.0 贷款账户余额为:11000.0卢比 提取金额……5000.0 贷款账户余额为:16000.0卢比 请帮帮我,我是初学者: package interfaces; interface Account { double accBal; void deposit(double amt); void withdraw(double amt); void printBalan

存款金额……10000.0

提取金额…4999.0

储蓄账户余额为:5001.0卢比

存款金额…9000.0

贷款账户余额为:11000.0卢比

提取金额……5000.0

贷款账户余额为:16000.0卢比

请帮帮我,我是初学者:

package interfaces;
interface Account 
{   
    double accBal;
void deposit(double amt);   
void withdraw(double amt);
void printBalance();
}

 class SavingsAccount implements Account
{

public void deposit(double amt)
{
    System.out.println("Depositing amount....."+amt);
    accBal = accBal + amt;
}
public void withdraw(double amt) 
{
    System.out.println("Withdrawing amount....."+amt);
    accBal=accBal - amt;
}
public void printBalance() 
{
    System.out.println("Savings Account  Balance is:" +accBal+ "Rs");       
}       
 }

 class LoanAccount implements Account
{

 public void deposit(double amt)
{
    System.out.println("Depositing amount....."+amt);
    accBal=accBal - amt;
}
 public void withdraw(double amt) 
{
    System.out.println("Withdrawing amount....."+amt);
    accBal=accBal + amt;
}
public void printBalance()
{
    System.out.println("Loan Account  Balance is:" +accBal+ "Rs");      
}   

 }

public class TestAccount {

public static void main(String[] args)
{
    Account acc1;
    acc1 = new SavingsAccount();
    acc1.deposit(10000);
    acc1.withdraw(4999);
    acc1.printBalance();
    acc1 = new LoanAccount();
    acc1.deposit(9000);
    acc1.printBalance();
    acc1.withdraw(5000);
    acc1.printBalance();

}

}

需要初始化贷款账户余额=(accBal=20000.00;)我在子类中尝试过accBal=20000.00

如果您遵循良好实践和TDD,那么如果您无法执行某些操作,因为它当前不支持它,请编写测试,编写代码,重构重复

如果代码不适合使用,不要害怕扔掉它,我要做的一件事是将所有类拆分成单独的文件。使跟踪正在发生的事情变得更容易

至于设置初始平衡,您可以在每个类的构造函数中设置它

公共类LoanAccount实现帐户{

  public LoanAccount(double initialBalance)
  {
      this.accbalance = initialBalance;
  }

}

您的帐户初始化为
0.0
。为什么不先提取那个数量呢?(可选)创建接受初始金额的构造函数。顺便说一句,使用
float
double
数字表示货币可能会导致舍入问题。您必须使用界面吗?否则,请按此处所述使用抽象类:是的,我只需要使用接口,我尝试使用抽象类,它的工作原理确保我会尝试相同的方法,因为原始答案(仍然是您答案的前半部分)与问题完全没有关系。删除它,我将撤回它。