2016-05-23 2 views
0

Привет я полностью новичок и пытается простой выход программы ввода/на практике, целые программы работают в моей Eclipse, компилятор, но результат-то вродеПрограмма работает без ошибок, но выход не подходит правильный

Введите обслуживание расходы: 87
Введите школьные сборы: 67
Enter Коммунальные платежи: 98
Введите Бакалея расход: 88
Итого расходов: 88 (здесь проблема это дает последнее значение я войти)

import java.util.Scanner; 

public class budgetSystem { 
    Scanner userInput = new Scanner(System.in); 
    private static Scanner userInput2; 
    public static void main(String[] args){ 

     int utilityBills = 0; 
     int maintainceExp = 0; 
     int schoolExp = 0; 
     int groceryExp = 0; 
     int totalExp = 0; 
     userInput2 = new Scanner(System.in); 

      System.out.println("Enter Maintaince Expance:"); 
      utilityBills = userInput2.nextInt(); 

      System.out.println("Enter School Fees:"); 
      utilityBills = userInput2.nextInt(); 

      System.out.println("Enter Utility Bills:"); 
      utilityBills = userInput2.nextInt(); 

      System.out.println("Enter Grocery Expance:"); 
      utilityBills = userInput2.nextInt(); 

      totalExp= utilityBills + maintainceExp + schoolExp + groceryExp; 

      System.out.println("Total Expance: " + totalExp); 



    } 

} // END OF BUDGET SYSTEM 

ответ

2

Для каждого шага вы переназначение utilityBills переменных, изменить код с:

System.out.println("Enter Maintaince Expance:"); 
utilityBills = userInput2.nextInt(); 

Для

System.out.println("Enter Maintaince Expance:"); 
utilityBills += userInput2.nextInt(); 

В каждом входе вы принимаете, это будет печатать правильный вывод.

0

Вы сохраняете каждое значение в utilityBills вместо правильных переменных. Вот почему каждое другое значение равно 0, и тогда общее значение устанавливается на последнее введенное значение.

+0

спасибо, что все ..... действительно оценен .... для указание –

1

Вы переписываете переменную utilityBills все время.

Изменить код:

System.out.println("Enter Maintaince Expance:"); 
maintainceExp = userInput2.nextInt(); 

System.out.println("Enter School Fees:"); 
schoolExp = userInput2.nextInt(); 

System.out.println("Enter Utility Bills:"); 
utilityBills = userInput2.nextInt(); 

System.out.println("Enter Grocery Expance:"); 
groceryExp = userInput2.nextInt(); 
1

Everytime сканируемого значение и назначение его обратно {utilityBills}, вместо того, чтобы установить соответствующие переменные в вашей программе. Ваше последнее введенное значение - 88, которое установлено для {utilityBills}, и остальные переменные все равно ноль никогда не устанавливаются ни в какое значение. Измените свой код, как показано ниже.

System.out.println("Enter Maintaince Expance:"); 
      maintainceExp = userInput2.nextInt(); 

      System.out.println("Enter School Fees:"); 
      schoolExp = userInput2.nextInt(); 

      System.out.println("Enter Utility Bills:"); 
      utilityBills = userInput2.nextInt(); 

      System.out.println("Enter Grocery Expance:"); 
      groceryExp = userInput2.nextInt(); 

      totalExp= utilityBills + maintainceExp + schoolExp + groceryExp; 
Смежные вопросы