2017-05-09 124 views
-4

只有使用三種方法(包括主)和10個整數數組,我需要建立一個程序,做這些東西:多個返回??/

  1. 指望有多少人誰通過考試。
  2. 打印統計信息。 (例如A,B,C,D,E等級)
  3. 有多少人通過或未通過考試。

這就是我現在所擁有的。我唯一的問題是,我不知道如何返回多個值。

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

將值存儲到'Array'中,並將兩種方法的返回類型更改爲'Array'。 –

+1

您可以創建一個類,稱爲「結果」,其成員代表您希望從方法返回的多個計算值。然後,在你的方法中,你實例化Result,填充其中的計數,並從你的方法中返回 –

回答

0

創建一個數組。例如,

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}; 
} 

和做這樣的事情

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

同樣,做它的檔次。

+0

謝謝!它現在有效 –

0

如果要返回多個值,通常需要返回封裝值的單個對象。 使用List>或ArrayList,將您的值添加到列表中並將其返回。在調用函數中,獲取列表中的返回值,並按照您認爲合適的方式提取信息。