首页 > 解决方案 > 分配数组值和计算错误

问题描述

问:计算每个月的用电量并获得每个月的付款。

  1. 我没有得到正确的 jan、feb、march 等付款。每月付款应该分开。110 = 1 月,88 = 2 月,依此类推。如果 jan 小于 40,则该值应乘以 20。

  2. 例如:如果 jan = 35,则 35 *20 = 付款,即 700。所以这应该适用于所有月份。

  3. int 数组 jan, feb, March, april, May, jun, July, aug, sep, oct, nov, dec.

class test2 {

    public static void main(String[] args) {

        int months[] = {110, 88, 125,168,210,65,75,98,133,165,175,189};
        int x, size, count;
        size = months.length;
        double rate_chrg=0, payment =0;
        count = 0;
        x= 0;

        while (x<size){
            if (months[x] <40){
                payment = months[x] * 20;

            }
            else if(months[x] <60){
                payment = months[x] * 30;

            }
            else if(months[x] <80){
                payment = months[x] * 40;
            }
            else if(months[x] <250){
                payment = months[x] * 60;
            }
            x++;
        }

        System.out.println("Jan => " + months[0] + " = " +payment);
        System.out.println("Feb => " + months[1] + " = "+  payment);

    }
}

这是我的输出:

一月 => 110 = 11340.0
二月 => 88 = 11340.0

金额错误,应该像 Jan => 110 = 6600 上面那样打印 Answer 6000 is from 110 * 60 =6600

标签: java

解决方案


System.out.println("Jan => " + months[0] + " = " +payment);
System.out.println("Feb => " + months[1] + " = "+  payment);

把这些线放在while循环中,你会看到不同的,问题是payment每次循环后都会重新初始化while


推荐阅读