В моей задаче на домашнее задание я должен рассчитывать ежемесячный платеж по кредиту на основе процентной ставки по сумме кредита и продолжительности кредита, предоставленного пользователем.Это должно быть сделано с помощью намерения.
Когда я запускаю приложение, значения переменной никогда не меняются с 0, а затем они переходят на вторую страницу приложения, где должны отображаться результаты, но там указано NaN, где должен быть результатотображаться.
Я очень новичок в разработке для Android, и я понятия не имею, где возникает проблема, поэтому я разместил весь основной код Java, который у меня есть.
класс с именем Loan.java
package com.example.collegeloanpayoffcalculator;
public class Loan
{
public static double loanAmount = 0.0;
public static double interestRate = 0.0;
public static int loanDuration = 0;
//public static double monthlyPayment = 0.0;
public double amount;
public double interest;
public double duration;
//public double payment;
public Loan() {}
public Loan(double amount, double interest, double duration)
{
this.amount = amount;
this.interest = interest;
this.duration = duration;
}
}
класс с именем MainActivity.java
public void calculatePayment(View view)
{
Intent intent = new Intent(this, paymentViewActivity.class);
EditText loanAmount = (EditText) findViewById(R.id.loanAmount);
Editable amount = loanAmount.getText();
intent.putExtra("Loan.loanAmount", Double.valueOf(amount.toString()));
EditText interestRate = (EditText) findViewById(R.id.interestRateEditText);
Editable interest = interestRate.getText();
intent.putExtra(String.valueOf(Loan.interestRate), interest);
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.duration);
int selected_id = radioGroup.getCheckedRadioButtonId();
RadioButton radio_b = (RadioButton) findViewById(selected_id);
intent.putExtra(String.valueOf(Loan.loanDuration), radio_b.getText().toString());
startActivity(intent);
}
}
класс с именем paymentViewActivity.java
public class paymentViewActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loan_payment);
Intent intent = getIntent();
double amount = intent.getDoubleExtra("loanAmount", loanAmount);
double interest = intent.getDoubleExtra("interestRate", interestRate);
int duration = intent.getIntExtra("loanDuration", loanDuration);
double payment = amount * interest / (1 - 1 / Math.pow(1 + interest, duration * 12));
TextView Payment = findViewById(R.id.loanPayment);
Payment.setText(Double.toString(payment));
}