2016-10-14 5 views
-1

При запуске моей программы последняя строка, отображающая годовой расход газа, не отображается ... что я сделал не так? Также хотелось бы, чтобы некоторые помогли округлить цифры до двух десятичных знаков ... Я попытался реализовать несколько стратегий, но ни один из них не работал. Любая помощь приветствуется!Почему последняя строка моего кода не печатается? Кроме того, какой самый простой способ для меня округлить числа до 2 десятичных знаков?

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

//Use scanner in order to retrieve user input. 
Scanner keyboard= new Scanner(System.in); 

//Declare variables. 
int milesPerWeek; 
double milesPerGallon,costOfGas; 


System.out.println("GAS EXPENSES"); 
//Get user input. 
System.out.println("How many miles do you drive a week?"); 
milesPerWeek = keyboard.nextInt(); 

//Get user input. 
System.out.println("How many miles per gallon does your auto get?"); 
milesPerGallon=keyboard.nextDouble(); 

//Get user input. 
System.out.println("What is the current cost of gas?"); 
costOfGas=keyboard.nextDouble(); 

//Calculate miles per year. 
int milesPerYear=(milesPerWeek*52); 
//Display calculated yearly mileage. 
System.out.println("At " + milesPerWeek + "miles per week, you travel "+ 
milesPerYear + " miles per year."); 

//Calculate and display calculated weekly & yearly gallons of gas used. 
double gallonsPerWeek=(milesPerWeek/milesPerGallon); 
System.out.println("Gallons per week:" + gallonsPerWeek); 
double gallonsPerYear=(gallonsPerWeek*52); 
System.out.println("Gallons per year:" + gallonsPerYear); 

//Calculate and display calculated weekly & yearly gas expense. 
System.out.println("With gas at $" +costOfGas + " per gallon, you will 
spend: "); 
double weeklyGasExpense=(costOfGas*milesPerWeek); 
System.out.println("Gas expense per week: $" +weeklyGasExpense); 
double yearlyGasExpense=(costOfGas*milesPerYear); 
System.out.println("Gas expense per year: $" +yearlyGasExpense); 

//Calculate and display calculated weekly & yearly gas expense based on 
increased gas price. 
double costIncrease= (costOfGas+1); 
System.out.println("If gas goes up by one dollar per gallon to $" + 
costIncrease +(" per gallon, you will spend:")); 
double weeklyIncreasedGas=(costIncrease*milesPerWeek); 
double yearlyIncreasedGas=(costIncrease*milesPerYear); 
System.out.println("Gas expense per week : $" +weeklyIncreasedGas); 
System.out.print("Gas expense per year : $" +yearlyIncreasedGas); 
}} 
+0

вы не хватает конца вашего кода? Невозможно завершить завершение '}' s –

+0

'double round = Math.round (a * 100.0)/100.0;' для вашего второго вопроса – Athamas

+0

Пожалуйста, внимательно прочитайте руководство [MCVE] о том, что должно быть опубликовано в качестве образца кода и спросите * один * вопрос за сообщение. (Обратите внимание, что есть шанс, что другие люди уже пытались форматировать номера так раньше - обязательно выполните поиск в первую очередь). –

ответ

0

Запустите system.out.flush() в конце кода, чтобы убедиться, что все напечатано.

Для закругления вы могли бы попробовать этот ответ round up to 2 decimal places in java?

0

Для первого вопроса, то эта линия работает для меня, учитывая код:

System.out.print("Gas expense per year : $" +yearlyIncreasedGas); 

Для второго сделать это:

double number = 111.12345; 
double result = Math.round(number * 100.0)/100.0;