2017-05-09 1 views
-4

Nur drei Methoden (einschließlich der Haupt) und eine Reihe von 10 ganzen Zahlen, ich brauche ein Programm zu erstellen, das diese Dinge tut:Mehrere Rückkehr in Methoden ??/

  1. zählen, wie viele Menschen, die die übergebene Prüfung.
  2. Drucken Sie die Statistiken. (zB Klasse A, B, C, D, E ...)
  3. Wie viele Personen haben ihre Prüfung bestanden oder nicht bestanden.

Hier ist, was ich gerade habe. Das einzige Problem, das ich habe, ist, dass ich nicht weiß, wie man mehrere Werte zurückgibt.

public class Array10PassFail 

public static int countPass (int [] num) 
{ 
    int count = 0; 
    int counter = 0; 
for (int i = 0; i < num.length; i++) 
    { 
     if (num [i] >= 50) 
     { 
      count++; 
     } 
     else if (num [i] < 50) 
     { 
      counter++; 
     } 
    } 
return count; 
} 



public static int printStats (int [] num) 
{ 
    int aTotal = 0, bTotal = 0,cTotal = 0, dTotal = 0, eTotal = 0; 
    for (int i = 0; i < num.length; i++) 
    { 
     if (num[i] >= 80) 
     { 
      aTotal++; 
     } 
     else if (num[i] >= 70) 
     { 
      bTotal++; 
     } 
     else if (num[i] >= 60) 
     { 
      cTotal++; 
     } 
     else if (num[i] >= 50) 
     { 
      dTotal++; 
     } 
     else if (num[i] < 50) 
     { 
      eTotal++; 
     } 
    } 
    return aTotal; 
} 

public static void main (String [] args) 

{ 
    Scanner sc = new Scanner(System.in); 

    int [] num = new int [10]; 

    for (int i = 0; i < num.length; i++) 
    { 
     System.out.print("Enter score: "); 
     num[i] = sc.nextInt(); 
    } 

    int passf = countPass(num); 

    System.out.println("There are " + passf + " people who passed and " + ??? + " who failed. "); 
} 
+5

FYI 'java'! =' Javascript' –

+0

Werte in 'Array' speichern und Rückgabetypen beider Methoden in' Array' ändern. –

+1

Sie können eine Klasse namens 'Result' erstellen, deren Element mehrere Werte der Berechnungen repräsentiert, die Sie von Ihrer Methode zurückgeben möchten. Dann instanziieren Sie in Ihrer Methode "Ergebnis", füllen die darin enthaltenen Zählungen auf und geben sie von Ihrer Methode zurück. –

Antwort

0

Erstellen Sie ein Array. Zum Beispiel kann die

public static int[] countPass(int[] num){ 
    int count = 0, counter=0; 
    for (int i = 0; i < num.length; i++){ 
     if (num [i] >= 50) count++; 
     else counter++; 
    } 
    return new int[]{count,counter}; 
} 

und etwas zu tun, wie

int array[] = countPass(num); 
System.out.println("Failed -> " + array[1] + "Passed->" + array[0]); 

ähnlich macht es für die Noten.

+0

Danke! Es funktioniert jetzt –

0

Wenn Sie mehrere Werte zurückgeben wollen, möchten Sie in der Regel ein einzelnes Objekt zurückzugeben, anstatt die Werte kapselt. Verwenden Sie eine Liste> oder eine ArrayList, fügen Sie Ihre Werte in die Liste ein und geben Sie sie zurück. Rufen Sie in aufrufende Funktion den Rückgabewert in Liste ab und extrahieren Sie die Informationen, wie Sie sehen

Verwandte Themen