2017-10-10 3 views
-6

Ich versuche, die Summe der Iterationen einer for-Schleife zusammenzufassen. Das habe ich bisher.Iterationen zusammen in Java hinzufügen

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); 
     } 
    } 
}        

Jede Hilfe würde sehr geschätzt werden!

+2

und was genau ist das Problem? –

+0

Was ist die gewünschte Ausgabe und was ist die aktuelle Ausgabe, die verbessert werden soll? – Zabuza

+0

Die gewünschte Ausgabe wäre eine Tabelle, in der sich die Verdoppelung des Gehalts jeden Tag und dann unten die Summe aller Iterationen zeigt. –

Antwort

0

Um über das Hinzufügen des Gehalts für jeden Tag zu halten und die Strecke von insgesamt für jeden Tag zu halten (wie ich es aus Ihrer Aussage erhalten), können Sie ändern: -

total = amount * .01 * amount; 

zu

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

, die (wenn nicht jeden Tag Informationen separat gedruckt wird) kann vereinfacht werden: - I c

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

ompiled Ihren Code und bemerkte, dass Ihre Zahlen ausgeschaltet waren. Angenommen, Sie möchten, dass der Lohn des ersten Tages ein Penny ist und dass er sich jeden folgenden Tag verdoppelt, dann habe ich Folgendes herausgefunden. Es ist schwer zu sagen, ob dies genau das ist, was du willst, da du eigentlich keine Frage gestellt hast, lass es mich wissen, wenn du das suchst.

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(); 
} 

Sie tun ursprünglich total = amount*0.1*amount, die Sie nicht, was Sie wollen. Sie verwechseln amount mit einer einfachen Verdopplung.

Bearbeiten: Auch in Betracht ziehen, days zu einem int zu ändern. Ich sehe keinen Grund, warum es sollte ein double

+0

Ich versuche, die Iterationen der Schleife zusammenzufassen. .4 + .6 + .8 + etc und die Gesamtzahl der Iterationen am Ende. –

Verwandte Themen