2016-08-30 11 views
1

Ich schrieb diesen Code, um das Minimum, Maximum und den Mittelwert einer Menge von fünf ganzen Zahlen zu finden, die fünf Variablen für jede ganze Zahl verwenden. Das Problem ist, dass ich vier anstelle von fünf Variablen verwenden soll, und ich kann keine Steueranweisungen wie if oder loop verwenden.Minimum der ganzen Zahlen

Wie soll ich den Code, den ich bereits geschrieben habe, ändern?

+2

Das sieht wie ein Hausaufgaben Problem. Betrachtet Ihr Ausbilder einen ternären Operator als Kontrollanweisung? – vallismortis

+0

Ich kann keine ternären Operatoren verwenden – TheLegend

+0

Das ist ein lächerliches Problem. Die [Math.max] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Math.java#Math.max%28int%2Cint % 29) Methode verwendet einen ternären Operator: 'public static long max (lange a, lange b) {return (a> = b)? a: b; } '. – vallismortis

Antwort

1

Sie könnten es mit Variablen für die aktuelle Eingabe, min, max und total tun. Verwenden Sie einfach die gleiche Variable für die Eingabe und aktualisieren Sie die anderen drei Variablen, bevor Sie die nächste Eingabe vom Benutzer erhalten.

Um den Überblick über den Maximalwert zu halten, ohne wenn Aussagen, Sie so etwas wie zu tun haben werden:

max = Math.max(max, input); 

Und etwas Ähnliches für den Minimalwert.

+0

Also wären die Variablen: input, min, max und total? – TheLegend

+0

@ P.Icker Ja. Nach der ersten Eingabe können Sie min, max und total gleich dem ersten eingegebenen Wert einstellen. Nach der zweiten Eingabe müssen Sie jede dieser drei mit einem neuen Wert aktualisieren, und so weiter. –

+0

Könnten Sie den Code möglicherweise veröffentlichen? Das wäre hilfreich! – TheLegend

0

Sie brauchen nicht die Eingaben zu speichern, nicht länger als nötig, nur um die Ergebnisse zu speichern, wie Sie gehen:

public static void main(String[] args) 
{ 
    Scanner input = new Scanner(System.in); 
    int min; 
    int max; 
    long total; 
    int val; 

    System.out.println("First Integer "); 
    val = input.nextInt(); 
    min = val; 
    max = val; 
    total = val; 

    System.out.println("Second Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Third Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Fourth Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Fifth Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Maximum is " + max); 
    System.out.println("Minimum is " + min); 
    System.out.println("Mean is " + total/5.0); 
} 
+0

Ist es möglich, ohne if-Anweisungen zu tun? – TheLegend

+0

@P.Icker natürlich. Bearbeitet. – Jason

+0

Wie lautet der Code ohne if-Anweisungen? – TheLegend