2014-10-03 2 views
0

Поскольку бензин премиум-класса дороже обычного, мне нужно рассчитать пробег газа, чтобы получить премиальный бензин, чтобы компенсировать разницу в стоимости между этим и обычным бензином. Это значение представлено переменной gasmileageRequired.Расчет эффективности использования газа

Вопрос: Я правильно вычисляю переменную gasmileageRequired?

import java.text.DecimalFormat; 
    import java.text.NumberFormat; 
    import java.util.Scanner; 

    public class GasMileage { 
    public static void main(String[] args) { 

     //Variable declarations 
     Scanner scan = new Scanner(System.in); 
     NumberFormat numFmt = new DecimalFormat("##.###"); 
     NumberFormat costFmt = DecimalFormat.getCurrencyInstance(); 

     double tankSize = 0; 
     final double regularCost; 
     final double premiumCost; 
     double regularGasMileage = 0; 


     //User enters gas tank size 
     System.out.print("What is the size of your gas tank? (in gallons) "); 
     tankSize = scan.nextDouble(); 

     //User enters price of regular gasoline 
     System.out.print("What is the cost of regular gasoline per gallon? (in $) "); 
     regularCost = scan.nextDouble(); 

     //User enters price of premium gasoline 
     System.out.print("What is the cost of premium gasoline per gallon? (in $) "); 
     premiumCost = scan.nextDouble(); 

     //User enters cars' gas mileage 
     System.out.print("What is your cars' gas mileage on regular gasoline? (miles/gallon) "); 
     regularGasMileage = scan.nextDouble(); 

     //Variable declarations 
     double totalregularCost = regularCost * tankSize; 
     double totalpremiumCost = premiumCost * tankSize; 
     double costDifference = totalpremiumCost - totalregularCost; 
     double gasmileageRequired = regularGasMileage + (premiumCost/costDifference); 
     scan.close(); 

     //Begin output 
     System.out.println("\nGas tank size: " + tankSize + " gallons"); 
     System.out.println("\nTotal cost of regular gasoline: " + costFmt.format(totalregularCost) + "\nGas mileage (regular): " + numFmt.format(regularGasMileage) + " miles/gallon"); 
     System.out.println("\nTotal cost of premium gasoline: " + costFmt.format(totalpremiumCost) + "\nGas mileage required to make up for cost increase: " + 
     numFmt.format(gasmileageRequired) + " miles/gallon"); 
    } 
} 
+1

Это очень много кода - вот какой вопрос? – Mureinik

+0

Почему вы используете ключевое слово 'final'? –

+0

Вопрос указан в верхней части кода? Я хочу знать, правильно ли я правильно вычислил переменную gasmileageRequired. –

ответ

0

gasmilageRequired рассчитывается правильно, да. Он должен сказать вам, сколько MPG u нужно будет получить, чтобы компенсировать разницу в цене.

+1

Да, я знал, что искал это, я просто ломал себе голову, не зная, правильно ли вычисляется эта переменная. –

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