2016-09-22 8 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시간/일

오일/주

50주/년

(10) 0w/시간

내 (잘못된 출력) :

컴퓨터 에너지 감사 :

당신은 연간 2920.0 시간 동안 컴퓨터를 사용합니다.

876000.0 KWH/year를 사용합니다.

Whih 전기 요금은 127.02 $입니다.

전기를 생성하면 515.2194 lbs의 CO2가 생성됩니다.

올바른 출력 :

컴퓨터의 에너지 감사 :

당신은 연간 2000.0 시간 동안 컴퓨터를 사용합니다.

200.0 KWH/년을 사용합니다.

전기 요금은 28.999999999999996 $/년입니다.

전기를 생성하면 117.63 lbs의 CO2가 생성됩니다.

+0

입력 사항은 무엇입니까? –

+0

@AndrewEisenberg 프로그램 아래에 추가했습니다. 잊어 버릴 바보 같았습니다. – Aramza

답변

2

1 주일 및 1 주일 단위의 일 수를 입력으로 사용하지만 계산시 사용하지 마십시오. 또한 KWH를 인쇄하는 대신 Watt Hours 저장 변수를 표시합니다.

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