2017-10-10 3 views
-6

J'essaie d'additionner la somme des itérations d'une boucle for. C'est ce que j'ai jusqu'ici.Ajout d'itérations ensemble en Java

import java.util.Scanner; 

public class Pennies 
{ 
    public static void main (String [] args) 
    { 
     double amount; //To hold the amount of pennies per day 
     double days; //To hold the days user saved. 
     double total; 

     System.out.println("I will display a table of salary if you're paid every day in pennies and it doubles every day."); 

     Scanner keyboard = new Scanner(System.in); 

     System.out.print("How many days do you wish to save for?"); 
     days = keyboard.nextDouble(); 

     //Display the table 
     System.out.print("Day \t Salary \n"); 
     for (amount = 1; amount <= days; amount++) 
     { 
      total = amount * .01 * amount; 
      System.out.println(amount + "\t \t $" + total); 
     } 
    } 
}        

Toute aide serait grandement appréciée!

+2

et quel est exactement le problème? –

+0

Quelle est la sortie désirée et quelle est la sortie actuelle à améliorer? – Zabuza

+0

La sortie désirée serait une table qui affiche le salaire doublant tous les jours, puis au fond, il y aurait le total de toutes les itérations. –

Répondre

0

Afin de continuer à ajouter le salaire pour chaque jour et de garder la trace du total pour chaque jour (comme je l'obtenir de votre déclaration), vous pouvez modifier: -

total = amount * .01 * amount; 

à

total += amount * .01 * amount; // total = total + (amount*0.01*amount) 

qui (lorsqu'ils ne sont pas l'impression de chaque information de jour séparément) peut être simplifiée comme: -

total = amount * .01 * amount * days; 
0

I c Compilé votre code et remarqué que vos numéros étaient éteints. En supposant que vous voulez que le salaire du premier jour soit d'un centime, et qu'il double le jour suivant, voici ce que j'ai trouvé. Il est difficile de dire si c'est exactement ce que vous voulez puisque vous n'avez pas posé de question, alors laissez-moi savoir si c'est ce que vous cherchez.

public static void main(String[] args) { 
    System.out 
      .println("I will display a table of salary if you're paid every day in pennies and it doubles every day."); 

    Scanner keyboard = new Scanner(System.in); 

    System.out.print("How many days do you wish to save for?"); 
    double days = keyboard.nextDouble(); 

    // Display the table 
    System.out.print("Day \t Salary \n"); 
    double pay = 0.01; 
    double totalPay = 0.0; 
    for (int i = 1; i <= days; i++) { 
     System.out.println(i + "\t \t $" + pay); 
     totalPay += pay; 
     pay *= 2; 
    } 
    System.out.println("Total Pay \t $" + totalPay); 
    keyboard.close(); 
} 

Vous faites à l'origine total = amount*0.1*amount, qui ne vous donnera pas ce que vous voulez. Vous confondez la quadrature amount avec simplement le doubler.

Modifier: Vous pouvez également modifier days en int. Je ne vois aucune raison pour laquelle il devrait être double

+0

J'essaie d'ajouter ensemble les itérations de la boucle. .4 + .6 + .8 + etc et trouver le total des itérations à la fin. –