2016-09-22 6 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 Вт/час

Мой (неправильный выход):

Computer Энергоаудит:

Вы используете компьютер в течение 2920.0 часов в год.

Он будет использовать 876000,0 кВт/год.

Стоимость будет стоить 127,02 долл. США за год.

При создании этого электричества будет произведено 515,2194 фунтов CO2-загрязнения.

Правильный выход:

Компьютер Энергоаудит:

Вы используете компьютер в течение 2000.0 часов в год.

Он будет использовать 200,0 кВт/год.

Которые будут стоить 28.999999999999996 $/год за электричество.

Создание этого электричества приведет к загрязнению CO2 117,63 фунта.

+0

Каковы ваши входы? –

+0

@AndrewEisenberg Добавил их ниже программы, как глупо меня забыть. – Aramza

ответ

2

Вы принимаете в качестве входных данных количество дней в неделю и недели в год, но забудьте использовать их в своих расчетах. Кроме того, вместо печати KWH вы показываете переменную, хранящую часы Watt.

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

 Смежные вопросы

  • Нет связанных вопросов^_^