2017-02-02 5 views
-1

Ich hatte einige Schwierigkeiten beim Abschließen einer Übung, die ich in der Universität gegeben wurde. Grundsätzlich bitten sie mich, eine Anzahl von Benutzereingaben zu erhalten und dann die Summe, den Durchschnitt, die kleinsten und größten Eingaben und auch die Reichweite zu berechnen.Wie bekomme ich den MIN-Wert einer Benutzereingabe zu drucken

Alles funktioniert gut, bis ich versuche, den Mindestwert zu erhalten. Ich habe gründlich gesucht und es selbst versucht, aber ich kann es aus irgendeinem Grund nicht zum Laufen bringen. Hier ist mein Code:

import java.util.Scanner; 

    public class IntSequence { 
    public static void main (String arg[]){ 

    Scanner input = new Scanner(System.in); 
    int sum = 0; 
    double avg = 0; 
    int choice = 0; 
    int i = 1; 
    int smallestInput = Integer.MAX_VALUE; 
    int largestInput = Integer.MIN_VALUE; 
    int range = 0; 


    System.out.println("Please enter an integer: "); 
    for(; i <= 1000; i++){ 
     choice = input.nextInt(); 
     if (choice <= 0) 
      break; 
     sum = sum + choice; 
     avg = sum/i; 
     if(choice > largestInput){ 
      largestInput = choice; 
     } 
     if(smallestInput < choice){ 
      smallestInput = choice; 
     } 



    } 
    System.out.println("The sum of all integers is " + sum); 
    System.out.println("The average of the input integers is " + avg); 
    System.out.println("The largest input is: " + largestInput); 
    System.out.println("The smallest input is: " + smallestInput); 




    } 
} 
+1

'kleinste Eingabe bradimus

+1

change 'if (kleinste Eingabe Auswahl)' –

+0

wow jetzt fühle ich mich peinlich damit eine neue Frage zu starten. Danke für die Hilfe – Miguel

Antwort

1

Versuchen auslese weniger sein dann smallestInput wie so:

if(choice < smallestInput){ 
     smallestInput = choice; 
    } 

nicht so:

if(smallestInput < choice){ 
     smallestInput = choice; 
    } 

Bitte beachten 0 nach wie vor als eine gezählt Eingabe durch einen Benutzer:

if (choice < 0) break; 
+0

Bitte überprüfen Sie seinen Code erneut. Ihre Antwort funktioniert nicht für seinen Fall und eine Änderung dieser Bedingung macht überhaupt keinen Sinn. – eg04lt3r

+0

Ich dachte, das Ziel ist es, den kleinsten Wert zu bekommen, um den minimalen Wert ausgegeben zu geben – Bc96

+0

Gemäß seinem Code verarbeitet er keine negativen Eingabewerte. 'if (choice <= 0) break;' - diese Bedingung bricht die Schleife und verarbeitet die Eingabe. – eg04lt3r

Verwandte Themen