Я получаю ошибки компилятора, которые, кажется, указывают точку с запятой в конце двух операторов, и я понятия не имею, как исправить проблему. Цель состоит в том, чтобы принимать значения из класса Enum в Java и использовать их в финансовых расчетах с двухмерными массивами.Два размерных массива с BigDecimal в Java
public enum User
{
Mike("Mike", "User", 8000, 0.03, 15, 25),
Jim("Jim", "User", 12000, 0.05, 12, 30),
Jane("Jane", "User", 9000, 0.02, 18, 25),
Mary("Mary", "User", 18000, 0.09, 5, 30);
Bill("Bill", "User", 14000, 0.06, 8, 30);
private final String firstName;
private final String lastName;
private final int annualDeposit;
private final double annualIntRate;
private final int yearsToDeposit;
private final int yearsToCalcInt;
User(String firstName, String lastName, int annualDeposit, double annualIntRate,
int yearsToDeposit, int yearsToCalcInt)
{
this.firstName = firstName;
this.lastName = lastName;
this.annualDeposit = annualDeposit;
this.annualIntRate = annualIntRate;
this.yearsToDeposit = yearsToDeposit;
this.yearsToCalcInt = yearsToCalcInt;
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public int getAnnualDeposit()
{
return annualDeposit;
}
public double getAnnualIntRate()
{
return annualIntRate;
}
public int getYearsToDeposit()
{
return yearsToDeposit;
}
public int getYearsToCalcInt()
{
return yearsToCalcInt;
}
}
import java.util.EnumSet;
import java.math.BigDecimal;
import java.text.NumberFormat;
public class Work
{
public static void main(String[] args)
{
int[] annualDeposit = new int[5];
double[] intRate = new double[5];
int[] yearsToDeposit = new int[5];
int[] yearsToCalcInt = new int[5];
BigDecimal[][] accountBalance = new BigDecimal[5][30];
BigDecimal[][] principal = new BigDecimal[5][30];
int count = 0;
int yearsDeposit = 0;
for (User user: User.values())
{
annualDeposit[count] = user.getAnnualDeposit();
intRate[count] = user.getAnnualIntRate();
yearsToDeposit[count] = user.getYearsToDeposit();
yearsToCalcInt[count] = user.getYearsToCalcInt();
count++;
}
for (int i = 0; i < 5; i++)
{
yearsDeposit = 0;
for (int year = 0; year <= yearsToCalcInt[i]; year++)
{
if(yearsDeposit <= yearsToDeposit[i])
{
principal[i][year] += annualDeposit[i] + accountBalance[i][year];
BigDecimal accountBalance[i][year] =
principal[i][year].multiply(intRate[i].add(BigDecimal.ONE).pow(year));
yearsDeposit++;
}
else
{
principal[i][year] += accountBalance[i][year];
BigDecimal accountBalance[i][year] =
principal[i][year].multiply(intRate[i].add(BigDecimal.ONE).pow(year));
}
}
}
}
}
'Mary' заканчивается'; '...? – MadProgrammer
и, хотя не по теме, это не очень хорошая идея сделать учащихся перечислимыми. –