2016-09-22 80 views
2

我有问题搞清楚这个小电力/能源计算器用来计算计算机能源成本到底出了什么问题。电力/能源法案计算器:Java

我很感激任何帮助。

计划:

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周/年

10 0瓦特/小时

我的(错误输出):

计算机能源审计:

你用你的电脑每年2920.0小时。

它将使用876000.0千瓦时/年。

Whih将花费127.02美元/年的电力。

发电会产生515.2194磅的二氧化碳污染。

正确的输出:

计算机能源审计:

你用你的电脑每年2000.0小时。

它将使用200.0千瓦时/年。

这将花费28.999999999999996美元/年的电力。

发电会产生117.63磅的二氧化碳污染。

+0

您的输入是什么? –

+0

@ArewrewEisenberg在下面的程序中添加了他们,我多么傻,忘记了。 – Aramza

回答

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."); 
+0

非常感谢,我想我有一些逻辑错误。 – Aramza