使用 OOP 将值添加到 ArrayLists



我有一个关于这个程序的指南,我应该以某种方式使用对象 CO2 并添加值。我不确定在哪里实现开头声明的对象 CO2,并且每当我尝试添加到列表中时,我都会收到找不到符号错误。我习惯于上课来实现这一目标。

来自电力测试仪代码的 CO2

/**
 * @purpose: Calculate yearly CO2 emissions from electricity 8.10
 *
 * @author:
 * @version:
 */
import java.util.ArrayList;
public class CO2FromElectricityTester {
    public static void main(String[] args) {
        CO2FromElectricity CO2 = new CO2FromElectricity();
        ArrayList<Double> monthlyBill = new ArrayList<Double>(3);
        ArrayList<Double> monthlyPrice = new ArrayList<Double>(3);
        // Values to add to the monthly bill or use your own:
        // 209.60, 249.68. 222.59
        monthylyBill.add(209.60);
        monthylyBill.add(249.68);
        monthylyBill.add(222.59);
        // Values to add to the monthly Price or use your own:
        // (209.70 / 2464), (249.68 / 2948), (222.59 / 2621)
        monthylyPrice.add(0.24);
        monthylyPrice.add(0.35);
        monthylyPrice.add(0.27);
        double avgBill = CO2.calcAverageBill(monthlyBill);
        double avgPrice = CO2.calcAveragePrice(monthlyPrice);
        double emissions = CO2.calcElectricityCO2(avgBill, avgPrice);
        System.out.printf("Average Monthly Electricity Bill: %6.2f%n", avgBill);
        System.out.printf("Average Monthly Electricity Price: %4.2f%n", avgPrice);
        System.out.printf("Annual CO2 Emissions from Electricity Usage:   %7.1f pounds", emissions);
    }
}

电力等级产生的二氧化碳

import java.util.ArrayList;
public class CO2FromElectricity
{
    CO2FromElectricity() {
        // default constructor should be used.
    }
    public double calcAverageBill(ArrayList<Double> monthlyBill) {
        double sum = 0;
        for (int i = 0; i < monthlyBill.size(); i++) {
            sum += monthlyBill.get(i);
        }
        return ((double) sum) / monthlyBill.size();
    }
    public double calcAveragePrice(ArrayList<Double> monthlyPrice) {
        double sum = 0;
        for (int i = 0; i < monthlyPrice.size(); i++) {
            sum += monthlyPrice.get(i);
        }
        return ((double) sum) / monthlyPrice.size();
    }
    public double calcElectricityCO2(double avgBill, double avgPrice) {
        return ((double) (avgBill / avgPrice) * 1.37 * 12);
    }
}
这是一个

错字。 monthlyPrice 是您声明的变量名称,但在代码中,您希望添加一些不存在的名为 monthylyBill 的变量。

问题是一个简单的错别字:

monthylyPrice.add(0.24);
 monthylyPrice.add(0.35);
 monthylyPrice.add(0.27);
应该是"每月价格"

而不是"月y价格"