电力/能源账单计算器:Java

时间:2016-09-22 02:24:11

标签: java converter calculator audit energy

我在解决这个用于计算计算机能源成本的小电力/能量计算器究竟出了什么问题时遇到了问题。

我很感激任何帮助。

程序:

import java.util.Scanner;

public class ElectricityCalculations {
   public static void main (String [] args) {
      Scanner scnr = new Scanner(System.in);
      double usageHoursPerDay      = 0; // Hours computer is on per day
      double usageDaysPerWeek      = 0; // Days computer is used per week
      double usageWeeksPerYear     = 0; // Weeks computer is used per year
      double wattsPerHour          = 0; // Watts used by computer per hour
      final double COST_PER_KWH    = 0.145; // Prices of power per kilowatt hour
      final double LBS_CO2_PER_KWH = 0.58815; // Pounds of CO2 generated per KWH
      double usageHoursPerYear     = 0; // Amount of hours on per year
      double usageWattHoursPerYear = 0; // Amount of watt hours consumed per year
      double usageKWHPerYear       = 0; // Amount of KWH used in a year
      double costPerYear           = 0; // Total cost per year
      double lbsCO2PerYear         = 0; // Total amount of CO2 in pounds released per year

      // Input Values
      System.out.println("How many hours is your computer on per day?");
      usageHoursPerDay  = scnr.nextDouble();
      System.out.println("How many days per week is your computer used?");
      usageDaysPerWeek  = scnr.nextDouble();
      System.out.println("How many weeks per year is your computer used?");
      usageWeeksPerYear = scnr.nextDouble();
      System.out.println("How many watts per hour does your computer use? (Suggestive value for desktop: 100, laptop: 30).");
      wattsPerHour      = scnr.nextDouble();

      // Calculations
      usageHoursPerYear     = usageHoursPerDay * 365;
      usageWattHoursPerYear = wattsPerHour * 8760; // 8760 is the number of hours in a year
      usageKWHPerYear       = usageWattHoursPerYear / 1000;
      costPerYear           = usageKWHPerYear * COST_PER_KWH;
      lbsCO2PerYear         = LBS_CO2_PER_KWH * usageKWHPerYear;

      // Printing Energy Audits
      System.out.println("Computer Energy Audit");
      System.out.println("You use your computer for " + usageHoursPerYear + " hours per year.");
      System.out.println("It will use " + usageWattHoursPerYear + " KWH/year.");
      System.out.println("Whih will cost " + costPerYear + "$/year for electricity.");
      System.out.println("Generating that electricity will produce " + lbsCO2PerYear + " lbs of CO2 pollution.");

      return;
   }
}

输入

每天8小时

每周5天

50周/年

100瓦/小时

我的(输出错误):

计算机能源审计:

您每年使用计算机2920.0小时。

它将使用876000.0 KWH /年。

Whih的电费为127.02美元/年。

产生电力将产生515.2194磅的二氧化碳污染。

正确输出:

计算机能源审计:

您每年使用计算机2000.0小时。

它将使用200.0 KWH /年。

电费为28.999999999999996美元/年。

产生电力将产生117.63磅的二氧化碳污染。

1 个答案:

答案 0 :(得分:2)

您将每周的天数和每年的周数作为输入,但忘记在计算中使用它们。此外,您正在显示存储瓦特小时数的变量,而不是打印KWH。

// Calculations
usageHoursPerYear     = usageHoursPerDay * usageDaysPerWeek * usageWeeksPerYear; //calculate based on time used, not 365 days in the year
usageWattHoursPerYear = wattsPerHour * usageHoursPerYear; //use variable from above line
usageKWHPerYear       = usageWattHoursPerYear / 1000;
costPerYear           = usageKWHPerYear * COST_PER_KWH;
lbsCO2PerYear         = LBS_CO2_PER_KWH * usageKWHPerYear;

// Printing Energy Audits
System.out.println("Computer Energy Audit");
System.out.println("You use your computer for " + usageHoursPerYear + " hours per year.");
System.out.println("It will use " + usageKWHPerYear + " KWH/year."); //changed to correct variable
System.out.println("Whih will cost " + costPerYear + "$/year for electricity.");
System.out.println("Generating that electricity will produce " + lbsCO2PerYear + " lbs of CO2 pollution.");