J'essaie de faire une application pour Android qui fait des calculs RMD. Le programme, cependant, continue à donner 0.0.Le calcul de distribution minimum requis ne fonctionne pas
Je pense que mon problème réside dans ce code:
package com.MinDis.android;
import java.util.*;
import java.text.*;
public class RMD
{
double balance;
double rmd;
long age;
String bdate;
SimpleDateFormat sd = new SimpleDateFormat("MM/dd/yyyy");
Date current = new Date();
public void setBalance(double i)
{
balance = i;
}
public double getBalance()
{
return balance;
}
public void setBDate(String h)
{
bdate = h;
}
public long getAge() throws Exception
{
Date birthd = sd.parse(bdate);
long cur;
long birth;
long diff;
cur = current.getTime();
birth = birthd.getTime();
diff = cur - birth;
age = (diff/(24*60*60*1000))/365;
return age;
}
public double getRMD()
{
if (age == 70)
{
rmd = balance/27.4;
}
if (age == 71)
{
rmd = balance/26.5;
}
if (age == 72)
{
rmd = balance/25.6;
}
if (age == 73)
{
rmd = balance/24.7;
}
if (age == 74)
{
rmd = balance/23.8;
}
return rmd;
}
}
J'ai essayé avec equals(), mais il se plaint que je tentais de déréférencer la valeur à long. En outre, je suis conscient que java.util.Date est obsolète, mais je ne veux pas essayer les autres classes. De ma première application Android, j'ai compris que le "==" ne fonctionne pas, mais je ne sais pas quoi faire ici.
J'ai vérifié que l'entrée pour un solde et les valeurs de date de naissance ont été acceptées, de sorte que c'est ainsi que je l'ai limité à cette classe particulière.