2017-02-12 1 views
1

Ich bin ein BEGINNER in Java. Mein Projekt ist ein einfacher Kalorienzähler.Wie Benutzereingaben zu berechnen Java

Die Art und Weise sollte es funktionieren:

Kalorienzufuhr Nummer eingeben:

für

Programm subtrahieren Benutzer Eingang von 2.000 Kalorien

Ab jetzt mein Programm Subtrahieren der Parameter (Benutzernummer hinzufügt) Das Essen Objekt aus dem 2.000 cal. Ich weiß das, weil ich eine Menge Tests durchgeführt habe, um die Lösung für dieses Problem herauszufinden. Wenn ich die Parameter für die Käsekuchenaromamethoden nicht geändert hätte, um eine Zeichenkette und eine ganze Zahl einzuschließen, hätte sie die Kalorie int von dem letzten aufgelisteten Kuchengeschmack (Carmel) subtrahiert, der die variable Kalorie enthielt.

Das Problem:

ich scheinen, um herauszufinden, wie die Benutzereingabe an die Kalorienberechnung in der Lebensmittelklasse über dem Haupt codiert zu verbinden. Ich habe auch versucht, die Scanner-Eingabevariable auf die Kalorienvariable zu ändern, aber sie konnte dann nicht aufgelöst werden.

Ich höre meinen Code jetzt unten. Ich wäre jedem dankbar, der mir helfen könnte. Bitte denken Sie daran, ich bin ein Anfänger und lese alles, was ich geschrieben habe, bevor ich antworte.

Danke

int calculateCaloriesLeft() { 

     int caloriesLeft = 2000 - calories; 
     return caloriesLeft; 
    } 



     Scanner input = new Scanner(System.in); 
     System.out.println("Enter calorie of food: "); 
     int value = 0; 
     value = input.nextInt(); 

     value = deserts.calculateCaloriesLeft(); 
     System.out.println("calories left: " + value); 


    } 



} 
+0

_ „gibt es eine Menge zusätzlichen Code ist, weil ...“ _ dann einen einfachen Testfall erstellen (ein so genannte [MCVE]) nur den Teil zu demonstrieren Du hast Probleme mit. –

+0

Ich habe alle zusätzlichen Code –

Antwort

1

Sie den eingegebenen Wert nicht in die calculateCaloriesLeft Methode sind vorbei. Sie müssten einen Parameter hinzufügen und die Benutzereingabe übergeben.

Scanner input = new Scanner(System.in); 
    System.out.println("Enter calorie of food: "); 
    int value = 0; 
    value = input.nextInt(); 

    value = deserts.calculateCaloriesLeft(value); 
    System.out.println("calories left: " + value); 

Und Ihre Methode wäre

int calculateCaloriesLeft(int userCalories) { 

    int caloriesLeft = 2000 - userCalories; 
    return caloriesLeft; 
} 
+0

Vielen Dank! Ich habe eine Woche damit verbracht, herauszufinden, was das fehlende Glied ist! –

+0

Kein Problem! Es freut mich, dass ich helfen konnte. Wenn diese Antwort Ihr Problem behoben hat, markieren Sie sie als akzeptierte Antwort für zukünftige Besucher. :) – Neelik