2016-02-26 4 views
1

Создал метод, который вычисляет и отображает значения простых интересов в зависимости от количества лет. Я хочу, чтобы показать все годы так, например, если лет 5, я хочу показать значение в течение многих лет 1, 2, 3, 4, 5Показать все итерации цикла for

Это мой код до сих пор

public static String numbers(String method, double principal, double rate, double years) { 

    double simpleInterest = principal + (principal * (rate/100) * years); 
    String interest = ""; 
    for (double digit = 1; digit <= years; digit++) { 
     if (method.equals("Simple")) { 
      interest = "Principal: $" + principal + ',' + " Rate: " + rate + "\n" + "Year Simple Interest Amount\n" 
        + digit + "-->$" + simpleInterest; 
     } 
    } 
    return interest; 
} 

public static void main(String[] args) { 

    System.out.print(numbers("Simple", 5000, 5, 5)); 
} 

Мои выход

Principal: $5000.0, Rate: 5.0 
Year Simple Interest Amount 
5.0-->$6250.0 

Но я хочу, чтобы это также отображать предыдущие годы, как

Principal: $5000.0, Rate: 5.0 
Year Simple Interest Amount 
1.0-->$5250.0 
2.0-->$5500.0 
3.0-->$5750.0 
4.0-->$6000.0 
5.0-->$6250.0 

Что мне нужно сделать, чтобы отобразить т он в предыдущие годы?

+0

Что вы пробовали? Я имею в виду, не собираюсь лгать, вы уже закодировали его, просто не распечатали. – Fallenreaper

+0

Прежде всего вы не рассчитываете проценты, но общая сумма должна быть произведена, если платежи не производятся. Поэтому я предполагаю, что вы переименуете 'интерес' к' total' ниже. Вы можете либо поставить оператор печати внутри цикла вычислений, либо вам придется возвращать годовые итоговые значения в виде списка, например 'totals = []', прежде чем цикл сделает пустой список, а затем 'totals.append (total) 'внутри цикла, наконец,' return totals' – roadrunner66

ответ

0

Необходимо рассчитать simpleInterest на каждый год simpleInterest = principal + (principal * (rate/100) * digit); здесь digit всего year.

а также использовать оператор +=, чтобы объединить результаты с interest и return. Вы также можете использовать строку concat() метод Вот синтаксис этого метода: public String concat(String s). вы можете использовать его как это: interest = interest.concat(digit + "-->$" + simpleInterest + "\n");

public static String numbers(String method, double principal, double rate, double years) { 

     double simpleInterest = principal + (principal * (rate/100) * years); 
     String interest = ""; 
     System.out.println("Principal: $" + principal + ',' + " Rate: " + rate + "\n"+ "Year Simple Interest Amount\n"); 
     for (double digit = 1; digit <= years; digit++) { 
      if (method.equals("Simple")) { 
       simpleInterest = principal + (principal * (rate/100) * digit); 
       interest += digit + "-->$" + simpleInterest + "\n"; 
      } 
     } 
     return interest; 
    } 

    public static void main(String[] args) { 

     System.out.print(numbers("Simple", 5000, 5, 5)); 
    } 

Выход:

Principal: $5000.0, Rate: 5.0 
Year Simple Interest Amount 

1.0-->$5250.0 
2.0-->$5500.0 
3.0-->$5750.0 
4.0-->$6000.0 
5.0-->$6250.0 
+1

Спасибо. Оператор + = решает мою проблему. –

0
if (method.equals("Simple")) { 
      interest = "Principal: $" + principal + ',' + " Rate: " + rate + "\n" + "Year Simple Interest Amount\n" 
        + digit + "-->$" + simpleInterest; 
     } 

в приведенном выше коде вам переназначение interest если method равно "simple". поэтому возвращается последнее присвоенное значение.

использовать +=, чтобы объединить новые результаты с interest или просто вернуть String[], содержащий каждый результат как отдельный элемент, а затем перебирать его.

0

общественных статические номера строки (метод String, двойной основные, двойная скорость, двойные года) {

 String interest = ""; 
     for (double digit = 1; digit <= years; digit++) 
     { 
      if (method.equals(Simple)) 
      { 
       double simpleInterest = principal + (principal * (rate/100) * digit); 
       interest += "Principal: $" + principal + ',' + " Rate: " + rate + "\n" + "Year Simple Interest Amount\n" 
         + digit + "-->$" + simpleInterest;     
      } 
     } 
     return interest; 
    } 
+0

Вам нужно было добавить в строку интерес с помощью «+ =» для каждого года. В противном случае он изменит его до последнего. И вам нужно было изменить год в double simpleInterest, иначе simpleInterest всегда будет $ 6 250. – David

Смежные вопросы