2016-09-22 50 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