2016-05-23 9 views
0

Hallo, Ich bin total ein Anfänger und versuche, eine einfache Eingabe/Ausgabe-Programm für die Praxis laufen die ganze Programme in meinem Eclipse-Compiler, aber das Ergebnis ist so etwas wieProgramm ohne Fehler läuft, aber Ausgang kommt nicht richtig

Wartung Geben Sie Kosten: 87
eingeben Schulgebühren: 67
geben sie Rechnungen Utility: 98
geben sie Lebensmittel Kosten: 88
Gesamtaufwand: 88 (hier ist das Problem, das es den letzten Wert geben i eingeben)

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 

Antwort

2

Für jeden Schritt, den Sie utilityBills Variable sind die Neuzuweisung, Ihren Code aus ändern:

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

Um

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

Sie nehmen in jedem Eingang, würde dies eine korrekte Ausgabe drucken.

0

Sie speichern jeden Wert in utilityBills anstelle der richtigen Variablen. Deshalb ist jeder andere Wert 0 und die Summe wird dann auf den zuletzt eingegebenen Wert gesetzt.

+0

Vielen Dank alle ..... wirklich geschätzt .... zum Aufzeigen –

1

Sie überschreiben die Variable utilityBills die ganze Zeit.

Ihren Code ändern:

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

Jedesmal, wenn man einen Wert scannen und es zurück in {} utilityBills zuweisen, stellen Sie stattdessen die entsprechenden Variablen in Ihrem Programm. Ihr zuletzt eingegebener Wert ist 88, der für {utilityBills} festgelegt wurde, und rest alle Variablen sind immer noch null und werden nie auf einen Wert gesetzt. Ändern Sie Ihren Code wie folgt.

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; 
Verwandte Themen