Как написать кредитный калькулятор на java

Здравствуйте, уважаемые профессионалы!

Условие:
Вы занимаете деньги у друга и вам необходимо рассчитать, сколько вы будете должны ему через 6 месяцев.
Каждый месяц вы будете возвращать ему по 10% от суммы долга.
Создайте программу, которая использует сумму долга в качестве вводных данных, рассчитает и выведет в результат остаток суммы через 6 месяцев.

Пример вводных данных:
20000

Пример результата:
10628

График платежей:
Месяц 1
Платеж: 10% от 20000 = 2000
Остаток долга: 18000
Месяц 2
Платеж: 10% от 18000 = 1800
Остаток долга: 16200
Месяц 3:
Платеж: 10% от 16200 = 1620
Остаток долга: 14580
Месяц 4:
Платеж: 10% of 14580 = 1458
Остаток долга: 13122
Месяц 5:
Платеж: 10% of 13122 = 1313
Остаток долга: 11809
Месяц 6:
Платеж: 10% of 11809 = 1181
Остаток долга: 10628

Используйте цикл, чтобы рассчитать сумму платежа и остаток долга за каждый месяц.
Кроме того, суммы должны быть целыми числами.

Вот моё решение:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner; 
 
public class Program 
{ 
 public static void main(String[] args) { 
  Scanner scanner = new Scanner(System.in); 
  int amount = scanner.nextInt(); 
  //введите код сюда 
  for (int i=0;i<6;i++) {
    
    amount=amount-(amount/100*10);
    
}
System.out.println (amount);
 } 
}

Но оболочка проверки решения его не принимает.
Скажите, пожалуйста, в чём моя ошибка?

Дан код. Нужно дописать:

Java
1
2
3
4
5
6
7
8
9
10
11
import java.util.Scanner; 
 
public class Program 
{ 
 public static void main(String[] args) { 
  Scanner scanner = new Scanner(System.in); 
  int amount = scanner.nextInt(); 
  //введите код сюда 
   
 } 
}

Есть тут кто-нибудь?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

См. Содержание, связанное с займомРавная основная сумма и равная основная сумма и проценты

Эквивалентная основная сумма и проценты: одинаковая ежемесячная сумма погашения

Самая важная особенность метода равной основной суммы и процентов заключается в том, что ежемесячная сумма погашения одинакова. По сути, доля основной суммы долга увеличивается месяц за месяцем, доля процентов уменьшается месяц за месяцем, а сумма ежемесячного погашения остается неизменной, то есть ежемесячный платеж В соотношении «основная сумма долга и проценты» доля процентов, выплачиваемых в первой половине периода, велика, а доля основной суммы долга — мала. После того, как период погашения превышает половину периода, пропорция основной суммы и процентов постепенно преобразуется в большую часть основной суммы и небольшую долю.

Ежемесячная выплата основной суммы и процентов = [основная сумма x ежемесячная процентная ставка x (1 + ежемесячная процентная ставка) кредитные месяцы] / [(1 + ежемесячная процентная ставка) месяцы погашения-1]

Ежемесячные проценты = оставшаяся основная сумма x ежемесячная процентная ставка по кредиту

Общая сумма процентов по погашению = сумма кредитаМесяцы кредитаМесячная процентная ставка * (1 + ежемесячная процентная ставка) количество месяцев кредита / [(1 + ежемесячная процентная ставка) количество месяцев погашения-1] — сумма кредита

Общая сумма погашения = количество месяцев погашенияСумма кредитаМесячная процентная ставка * (1 + ежемесячная процентная ставка) кредитные месяцы / [(1 + ежемесячная процентная ставка) погашение месяцев-1]

Эквивалентная основная сумма: ежемесячная основная сумма одинакова, но ежемесячная сумма выплаты отличается.

Самая большая особенность метода равной основной суммы заключается в том, что ежемесячная сумма погашения отличается, показывая состояние уменьшения месяц за месяцем; он делит основную сумму кредита поровну в соответствии с общим количеством месяцев погашения плюс проценты от оставшейся основной суммы за предыдущий период, поэтому Сумма ежемесячного погашения формируется. Таким образом, первый месяц метода равной основной суммы имеет наибольшую сумму погашения, а затем уменьшается месяц за месяцем. Чем больше платеж, тем меньше. Формула расчета:

Ежемесячная сумма основного долга и процентов = (основная сумма / месяцев погашения) + (погашенная накопленная основная сумма долга) × ежемесячная процентная ставка

Ежемесячная основная сумма = общая сумма основной суммы / месяцев погашения

Ежемесячные проценты = (выплаченная накопленная основная сумма долга) × ежемесячная процентная ставка

Общая сумма процентов по погашению = (количество месяцев погашения + 1)Сумма кредитаЕжемесячная процентная ставка / 2

Общая сумма погашения = (количество месяцев погашения + 1)Сумма кредитаЕжемесячная процентная ставка / 2 + сумма кредита

Примечание. В методе равной основной суммы основная сумма, которую люди возвращают каждый месяц, всегда одинакова, а проценты уменьшаются по мере уменьшения оставшейся основной суммы, поэтому сумма ежемесячного погашения постепенно уменьшается.

Основные параметры:
	private double loanMoney;  //сумма кредита  
	
	private int years; // Срок кредита
	
	private double yIns; //Годовая процентная ставка

	private double totalMoney;  // Сумма погашения (основная сумма + проценты)
	
	private double totalInterests; // Общая сумма процентов
	
	private double detail[][];  // Реквизиты ежемесячного погашения
Внешний интерфейс
// Равные выплаты основной суммы и процентов
public void EqualPrincipalandInterestMethod() {
		
		double mIns = yIns / 100 / 12; // Ежемесячная процентная ставка
		int months = (years * 12); // Месяц, необходимый для погашения
		double pow = Math.pow(1 + mIns,months); 
		double remains = loanMoney;
		totalMoney = (months * loanMoney * mIns * pow) / (pow - 1);  // Общая сумма погашения
		totalMoney = Math.floor(totalMoney * 100 + 0.5) / 100;  // функция пола сохраняет два десятичных знака
		totalInterests = totalMoney - loanMoney;
		totalInterests = Math.floor(totalInterests * 100 + 0.5) / 100;
		double temp[][] = new double[months][3];
		for (int i = 0; i < months; i++) {
			if(i == months - 1) {
				temp[i][1] = remains * mIns; 
				temp[i][1] = Math.floor(temp[i][1] * 100 + 0.5) / 100;
				temp[i][0] = remains; 
				temp[i][0] = Math.floor(temp[i][0] * 100 + 0.5) / 100;
				temp[i][2] = temp[i][0] + temp[i][1];
				temp[i][2] = Math.floor(temp[i][2] * 100 + 0.5) / 100;
				break;
			} 
			// Из-за проблем с точностью фактическая основная сумма за последний месяц будет другой, и ее необходимо рассчитывать отдельно
			temp[i][1] = remains * mIns;
			temp[i][1] = Math.floor(temp[i][1] * 100 + 0.5) / 100;
			temp[i][2] = totalMoney / months;
			temp[i][2] = Math.floor(temp[i][2] * 100 + 0.5) / 100;
			temp[i][0] = temp[i][2] - temp[i][1];
			temp[i][0] = Math.floor(temp[i][0] * 100 + 0.5) / 100;
			remains -= temp[i][0];
		}
		// temp [] [0] - это ежемесячный основной платеж; temp [] [1] - это ежемесячный процент погашения; temp [] [2] - это общий ежемесячный платеж
		detail = temp;
	}
	// Равный принципал
	public void EqualPrincipalMethod() {
		
		double mIns = yIns / 100 / 12; // Ежемесячная процентная ставка
		int months = (years * 12);
		double remains = loanMoney;
		double sum = 0; // Общая сумма погашения
		double temp[][] = new double[months][3];
		for (int i = 0; i < months; i++)
		{
			temp[i][0] = loanMoney / months;
			temp[i][0] = Math.floor(temp[i][0] * 100 + 0.5) / 100;
			temp[i][1] = remains * mIns;
			temp[i][1] = Math.floor(temp[i][1] * 100 + 0.5) / 100;
			remains -= temp[i][0];
			temp[i][2] = temp[i][0] + temp[i][1];
			temp[i][2] = Math.floor(temp[i][2] * 100 + 0.5) / 100;
			sum += temp[i][2];
		}
		// temp [] [0] - это ежемесячный основной платеж; temp [] [1] - это ежемесячный процент погашения; temp [] [2] - это общий ежемесячный платеж
		detail = temp;
		totalMoney = sum;
		totalMoney = Math.floor(totalMoney * 100 + 0.5) / 100;
		totalInterests = totalMoney - loanMoney;
		totalInterests = Math.floor(totalInterests * 100 + 0.5) / 100;
	}

Отображение внешней страницы (LayUI)

Permalink

Cannot retrieve contributors at this time


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

package ru.itpark;
import java.math.BigDecimal;
public class CreditCalculatorService {
public double amountCredit(int sumCredit, double rateYear, int period){
double rateMonth = rateYear / (12 * 100);
double coefAnnua = (rateMonth * Math.pow(1 + rateMonth, period) / (Math.pow(1 + rateMonth, period) — 1));
double payment = coefAnnua * sumCredit;
BigDecimal credit = new BigDecimal(payment * period);
return credit.doubleValue();
}
}

Loop logic

There’s definitely something strange going on with your looping. Why do you have so many checks on accnum equalling zero? Why do you ask for account number in multiple places?

As it is, it’s hard to even answer that by eyeballing the code, because it’s so bulky. So let’s start by pulling some things into methods:

private int getAccountNumber(Scanner input) {
    System.out.println("Please Enter Customer Account Number (or -1 to quit): "); 
    return input.nextInt();
}

We can take the same approach with the other input/output sections, to now get a clearer version of your algorithm:

  System.out.println("Welcome to the Credit Calculator");

  accnum = getAccountNumber(input);
  if (accnum != -1)
  {
      begBalance = getBeginningBalance(input);
  }

  while(accnum != -1)
  {
     itemTotal = getItemTotal(input);
     creditsApplied = getCreditsApplied(input);
     creditLimit = getCreditLimit(input);

     newBalance = begBalance + itemTotal - creditsApplied;

     if(newBalance > creditLimit)
     {
         System.out.println("Credit Limit Exceeded");
     }

     accnum = getAccountNumber(input);
     if (accnum != -1)
     {
         begBalance = getBeginningBalance(input);
     }
  }

   if(accnum < 0)
   {
       System.out.println("Thank You for using Credit Calculator");
       System.out.println("Goodbye");
   }

Okay, now we see the problem more clearly, those first lines before the while loop are checked again at the end of the loop. That’s definitely something we can improve on, so let’s do it:

  System.out.println("Welcome to the Credit Calculator");

  while(true)
  {
     accnum = getAccountNumber(input);
     if (accnum == -1)
     {
         break;
     }

     begBalance = getBeginningBalance(input);
     itemTotal = getItemTotal(input);
     creditsApplied = getCreditsApplied(input);
     creditLimit = getCreditLimit(input);

     newBalance = begBalance + itemTotal - creditsApplied;

     if(newBalance > creditLimit)
     {
         System.out.println("Credit Limit Exceeded");
     }
  }

  System.out.println("Thank You for using Credit Calculator");
  System.out.println("Goodbye");

Notice how I also removed that last check- if we’ve broken out of that loop, we already know that accnum < 0 is true.


Formatting

It’s important to pick good conventions and stick with them. One guideline is the language. For example, in Java it’s conventional to put curly braces on the same line, rather than a new one (like I did in that getAccountNumber example). It’s also conventional to use camelCased variables without too much abbreviation: accountNumber rather than accnum. Make sure you’re consistent with your indentation too, as that’s one way the eye quickly gauges control flow.


Usability

None of your requirements actually say anything about looping until the user enters some special quit code. Is this really what you want? Have you considered just running through the process once? Or looping forever, forcing the user to quit out by using whatever means the console provides for doing so, rather than providing your own mechanism?

This is somewhat a judgement call, but having to enter a specially defined magic number in a particular place isn’t a very user-friendly way to quit a program, so either of the above might be a better user experience. They also mean you now have a simpler program- you want to guard against adding extra code or features that don’t actually match any of your requirements.

Similarly, do you actually need this question/answer style? Would receiving the information from command line arguments be acceptable? If so, you could cut your entire program down to a few lines.


A note on OO

One last thing, since I noticed a few other answers mentioning taking a more OO approach, I’m going to disagree.

In my opinion one of the best ways to make sure you misunderstand OO is to apply it where it’s not appropriate. Here your entire application is concerned with input/output to the console, the only real behaviour it has other than UI concerns is a single very simple calculation and a greater than check. Trying to «object-orient» that is much more likely to baffle than teach.

Understanding OO is a very important part in becoming a proficient Java programmer, but I’d say that you definitely took the right approach keeping this particular program procedural.

Post Views: 8 402

Каждый человек хотя бы раз сталкивается с кредитом: хочется купить дорогостоящую вещь, взять ипотеку и т.д. В этих случаях важно правильно рассчитывать свои доходы и расходы, чтобы оплата кредита не стала тяжкой ношей. Для этого существуют различные кредитные калькуляторы, которые при заданных параметрах показывают, когда и сколько нужно заплатить. В этой и следующей статьях мы рассмотрим, как написать собственный калькулятор кредитов от идеи до реализации.

Что такое кредит?

Кредит — это операция банка по предоставлению заёмщику средств в ссуду на условиях срочности, возвратности и уплаты процентов. Субъекта при выполнении данной операции являются кредитор, предоставляющий деньги во временное пользование, и заёмщик, получающий ссуду.

Иначе говоря, это товар, продаваемый за специфическую цену (ссудный процент) и на специфических условиях (на срок, с возвратом).

Существуют две теории кредитов, которые определяют роль кредита в экономике:

  1. Натуралистическая теория
    Представители этой теории рассматривали кредит как форму движения производительного капитала, используя относительную самостоятельность ссудного капитала и закономерности его движения. Они недооценивали роль кредита, полагая, что сущность банков заключается в их посреднической роли.Натуралистическая теория кредита была разработана А. Смитом (1723-1790) и Д. Рикардо (1772-1823). Важнейшие положения А. Смита и Д. Рикардо сводятся к следующему:

    • объектом кредита являются натуральные (надежные) вещественные блага;
    • ссудный капитал тождествен действительному, движение ссудного капитала совпадает с движением производительного капитала;
    • банки выступают как скромные посредники, поскольку кредит играет пассивную роль.
  2. Капиталотворческая теория
    Эта теория заняла лидирующее положение с середины XIX в. Ее основные идеи заключаются в следующем:

    • кредит независим от процесса воспроизводства;
    • кредит является решающим фактором развития экономики;
    • банки являются структурами, «производящими» кредит;
    • кредит — источник прибыли, следовательно, является производительным капиталом.

    Эти идеи сформулированы шотландским экономистом и финансистом Дж. Ло и английским экономистом Г. Маклеодом. Дальнейшее развитие капиталотворческая теория кредита получила в начале XX в. в работах немецкого банкира А. Гана, английских экономистов Дж. М. Кейнса и Р. Хоутри, американского экономиста Э. Хансена. Методология этой теории была дополнена следующими положениями:

    • банки выполняют в экономике ведущую роль;
    • основу банковской деятельности составляют активные операции;
    • кредит создаст депозиты, а следовательно, является источником банковского капитала (эффект кредитного мультипликатора);
    • как источник капитала кредит является фактором расширенного воспроизводства и экономического роста.

    В действительности основным источником ссудного капитала являются денежные капиталы, высвобождаемые в процессе оборота промышленного и торгового капитала, денежные накопления, формирующиеся в процессе движения государственных фондов финансовых ресурсов, а также средств населения. Только на основе этих ресурсов возможно кредитование. При расширении его кредит может превратиться в инфляционный фактор, ограничивающий возможности экономического роста.

Каких видов бывает кредит?

За время своего существования кредит претерпел множество изменений и имел различные виды, начиная с ростовщического кредита. На сегодняшний день виды кредита различают по нескольским классификациям.

По целям кредитования:

  • Кредит на потребительские нужны (потребительский кредит) — это кредитование физических лиц с целью покупки необходимых товаров небольшой стоимости (обычно до 100 тысяч рублей). Кредит этого вида характеризуется высокими процентными ставками и низкими суммами, которые предоставляются в качестве кредита заемщику. Разновидность данного банковского продукта — товарный кредит, который выдается на покупку определённого товара, чаще всего, в торговых точках работниками кредитных организаций.
  • Автомобильный кредит — кредит на приобретение автомобиля, выдаваемый в размере от 70% до 100% от стоимости транспортного средства; как правило, приобретаемый автомобиль выступает обеспечением по кредиту. Также автокредит — разновидность потребительского кредита, когда банк выдает целевую ссуду на покупку автомобиля. Согласно кредитному соглашению, полученная сумма не может быть потрачена ни на что другое. Чаще всего, она перечисляется непосредственно продавцу машины, у которого вы решили приобрести транспортное средство.
  • Ипотечный кредит — заём на покупку жилья (квартира, дом) как на вторичном, так и на первичном рынке. Разновидность ипотеки — ипотечный потребительский кредит. Это сочетание признаков и ипотечного кредита и потребительского кредита. Например, некоторые банки предоставляют крупные кредиты на любые цели, в том числе потребительские, от 300 тыс. рублей до 25 млн рублей под залог находящейся в собственности заемщика недвижимости.
  • Нецелевой кредит на потребительские нужды — банк выдает средства заемщику средства на любые цели. Особая разновидность этого банковского продукта — кредитная карта, именной платежно-расчетный документ в виде персонифицированной пластиковой карточки, выдаваемый банком-эмитентом своим клиентам для безналичной оплаты, приобретения ими в кредит товаров и услуг в розничной торговой сети.
  • Другие более мелкие виды — ссуда на образование, отдых, на неотложные нужды и т. д.

По способу погашения:

  • Кредит, погашаемый в рассрочку (например, ипотека).
  • Кредит, погашаемый единовременно (например, нецелевой экспресс-кредит).

По наличию обеспечения:

  • Беззалоговые кредиты (например, кредит на неотложные нужды).
  • Кредит, под который банк требует обеспечение (машина, квартира и т.д.).

Как посчитать кредит?

При расчёте кредита основными параметрами являются сумма кредита, процентная ставка и срок, на который выдан кредит. На основе этих параметров легко посчитать, сколько нужно платить банку в месяц.

Однако не всегда сумма платежей распределяется равномерно по месяцам. Бывают случаи, когда в разные месяцы нужно платить разную сумму. Исходя из этого платежи принято разделять на аннуитетные и дифференцированные платежи.

Аннуитетный платеж

Самый простой случай — когда каждый месяц нужно платить одинаковую сумму. Такой платёж называется аннуитетным, он является постоянным на весь срок выплаты. Аннуитетный платеж вычисляется по следующей формуле:

Здесь СК это изначальная сумма займа, ПС — процентная ставка, а КП — количество периодов (месяцев).

В этой формуле процентная ставка это 1/12 часть годовой ставки, поэтому если годовая ставка, допустим, 20%, то для формулы выше месячная будет равна 0,2/12 = 0,0167.

Таким образом получаем величину платежа, равную для каждого месяца.

Дифференцированный платеж

Иначе обстоит дело с дифференцированным платежом. В первые месяцы сумма платежей, как правило, выше, затем постепенно уменьшается. При этом не изменяется основная задолженность, меняются только начисленные проценты.

Чтобы посчитать, сколько платить, нужно знать основной долг и начисленные проценты. Основной долг вычисляется очень просто по следующей формуле;

Здесь ОД это основной долг, СК — изначальная сумма кредита, КП — количество периодов (месяцев).

Начисленные проценты в свою очередь вычисляются по одной из двух формул, в зависимости от нужной точности, «12 месяцев в году» или «365 дней в году».

В приведённых выше формулах НП это начисленные проценты, ОК — остаток по кредиту в текущем месяце, ПС — годовая процентная ставка, ЧДМ — число дней в месяце.

Чтобы рассчитать остаток по кредиту в текущем месяце, т.е. найти величину ОК из приведённой выше формулы, необходимо размер основного долга умножить на количество прошедших периодов и всё это вычесть из изначальной суммы кредита.

Здесь n это количество прошедших периодов.

С помощью этих трёх формул мы легко можем вычислить сумма платежа и остаток по задолженности на каждый месяц.

Подводя итоги

Изучив вопросы по кредитам, мы подготовили теоретическую базу для дальнейшей реализации собственно калькулятора кредитов. В следующей статье мы расскажем о том, как полученные формулы применить на практике и напишем собственное приложение для расчёта задолженности по кредиту.

Посмотрев урок, вы узнаете, как написать кредитный калькулятор для android, который можно использовать для расчета процентов и вычисления платежа по кредиту.

https://youtu.be/qjJi-xWnPok

Исходный код:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:shrinkColumns="1"
    android:stretchColumns="1">

    <TableRow>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="@string/loan_amount_prompt" />

        <EditText
            android:id="@+id/loan_amount"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal">

            <requestFocus></requestFocus>
        </EditText>
    </TableRow>

    <TableRow>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="@string/interest_rate_prompt" />

        <EditText
            android:id="@+id/interest_rate"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal" />
    </TableRow>

    <TableRow>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="@string/loan_period_prompt" />

        <EditText
            android:id="@+id/loan_period"
            android:layout_height="wrap_content"
            android:inputType="number" />
    </TableRow>

    <TableRow>

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_span="2"
            android:onClick="showLoanPayments"
            android:text="@string/loan_button_text" />
    </TableRow>

    <TableRow android:layout_marginTop="20dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="@string/monthly_payment_prompt" />

        <TextView
            android:id="@+id/monthly_payment_result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:textColor="#ff0000" />
    </TableRow>

    <TableRow>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="@string/total_payments_prompt" />

        <TextView
            android:id="@+id/total_payments_result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:textColor="#ff0000" />
    </TableRow>
</TableLayout>
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.text.DecimalFormat;

public class LoanCalculatorActivity extends AppCompatActivity {

    private EditText mLoanAmount, mInterestRate, mLoanPeriod;
    private TextView mMontlyPaymentResult, mTotalPaymentsResult;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loan_calculator);

        mLoanAmount = (EditText) findViewById(R.id.loan_amount);
        mInterestRate = (EditText) findViewById(R.id.interest_rate);
        mLoanPeriod = (EditText) findViewById(R.id.loan_period);
        mMontlyPaymentResult = (TextView) findViewById(R.id.monthly_payment_result);
        mTotalPaymentsResult = (TextView) findViewById(R.id.total_payments_result);

    }

    public void showLoanPayments(View clickedButton) {

        double loanAmount = Integer.parseInt(mLoanAmount.getText().toString());
        double interestRate = (Integer.parseInt(mInterestRate.getText().toString()));
        double loanPeriod = Integer.parseInt(mLoanPeriod.getText().toString());
        double r = interestRate / 1200;
        double r1 = Math.pow(r + 1, loanPeriod);

        double monthlyPayment = (double) ((r + (r / (r1 - 1))) * loanAmount);
        double totalPayment = monthlyPayment * loanPeriod;

        mMontlyPaymentResult.setText(new DecimalFormat("##.##").format(monthlyPayment));
        mTotalPaymentsResult.setText(new DecimalFormat("##.##").format(totalPayment));
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_loan_calculator, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Источник

Понравилась статья? Поделить с друзьями:
  • Как написать крашеные волосы
  • Как написать краусан
  • Как написать краулер на python
  • Как написать краткую характеристику предприятия пример
  • Как написать краткую характеристику на работника образец