0

I have Bank class with DepositCalculator that should return value of DepositWithPercentage for each object separately but when i run my code and add some values, Deposit have same value for all objects. What i did wrong?

  internal class Bank
    {
 
        public static double DepositWithPercentage { get; set; }

        public static double Deposit { get; set; }

        public Bank(double dp)
        {
            Deposit = dp;
    
        }

        public  double DepositCalculator()
        {

            if (Deposit < 100)
            {
                return DepositWithPercentage += Deposit + Deposit * 0.05;
            }
            if (100 > Deposit && Deposit < 200)
            {
              return DepositWithPercentage += Deposit + Deposit * 0.07;
            }
            else
            {
                return DepositWithPercentage += Deposit + Deposit * 0.1;
            }
        }
        public  double BonusCalculator()
        {
          return  DepositWithPercentage += 15;
        }


    }
}
 static void Main(string[] args)
        {
            List<Bank> bankDeposits = new List<Bank>();
            String answer;
       

            while (bankDeposits.Count < 100)
            {
             
                    Console.WriteLine("To see all your deposits input 'See' to get bonus input 'Bonus' to add new deposit input 'Add'");
                    answer = Convert.ToString(Console.ReadLine());
                    if (answer == "See") { 
                        foreach (Bank bank in bankDeposits)
                        {
                            Console.WriteLine("Deposit with percentage is: " + bank.DepositCalculator());
                        }
                    }
                    if(answer == "Bonus")
                    {
                        foreach (Bank bank in bankDeposits)
                        {
                            Console.WriteLine(bank.BonusCalculator());
                        }
                    }
                    if (answer == "Add")
                    {
                        Console.WriteLine("Please, input your deposit");

                        bankDeposits.Add(new Bank(Convert.ToDouble(Console.ReadLine())));
                      
                    }
                }
          
            }
         
        }

When i create new instance of bank object with Deposit value it changes Deposit value for all other bank objects. I don't understand what I did wrong

0 Answers0