2017-05-09 13 views
-4

のみ(メイン含む)3つのメソッドを使用して、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'を作成することができます。次に、あなたのメソッドでは、 '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

複数の値を返す場合は、代わりに値をカプセル化する1つのオブジェクトを返すことをお勧めします。 List>またはArrayListを使用して、リストに値を追加して返します。関数を呼び出す際には、リストの戻り値を取得し、適切に情報を抽出します。

関連する問題