首页 > 解决方案 > 如何从输入 1 的值显示 for 循环中的数字?

问题描述

所以我正在研究这个名为“一分钱一分钱”的家庭作业问题,除了一个问题外,我基本上已经完成了。如果有意义,我的 for 循环会多次打印输入数字的数量?

public class Assignment3 {

    public static void main(String[] args) {

        //INITIAL VARIABLES
        int workdays;
        double money;
        double total = 0;
        double add;

        //GATHERING NUMBER OF DAYS WORKED
        System.out.println("For how many days will the pay double? ");
        Scanner a = new Scanner(System.in);
        workdays = a.nextInt();


        //PARTIAL OUTPUT
        System.out.println("Day\t\tTotal Pay");
        System.out.println("__________________________");



        //FOR LOOP
        for(int payday = 1; payday <= workdays;payday++){
        money = Math.pow(2,payday - 1);
        System.out.println(workdays +"\t$\t"+ money/100);
        total = total + money/100;
        }


        //MORE OUTPUT
        System.out.println("__________________________");
        System.out.println("Total\t$\t" + total );
    }
}

当我连续输入 12 时,数字 12 会重复 12 次。请问我怎样才能让它从1-12开始,谢谢。

标签: java

解决方案


在您的 for 循环中,您正在打印变量 workdays,其中它的值在循环内不会改变,这意味着它是恒定的。由于您的目标是每天输出便士,如果有帮助,您应该尝试此代码

for(int payday = 1; payday <= workdays; payday++){
    money = Math.pow(2,payday - 1);
    System.out.println(payday + "\t$\t" + money/100);
    total += money/100;
}

推荐阅读