2016-06-28 12 views
-2

私は、学生ID、名字、姓、メール、および成績を表す文字列で構成されるこの文字列配列を持っています。私の質問は、離れているかどうか私はこの配列の各エントリを分割し、このサンプル配列のエントリの学生の平均等級を計算することができることです。私は誰もがこの配列でそれを達成する方法のいくつかのソリューションを提供することができれば感謝します。Javaでの配列処理

String[] students = {"1,John,Smith, [email protected] ,20,88,79,59", 
        "2,Suzan,Erickson, [email protected] ,19,91,72,85", 
        "3,Jack,Napoli, [email protected],19,85,84,87", 
        "4,Erin,Black, [email protected],22,91,98,82"}; 
+3

いくつかの調査を行い、ドキュメントを読んでください。あなたは簡単に文字列をどのように分割するかを知ることができます。 – SamTebbs33

+4

http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-javaこのリンクをクリックすると、Javaで文字列を分割する方法がわかります。 – Module

+0

googleで文字列を分割して手を入れようあなたが問題を抱えている場合は、問題のあるコードを貼り付けて貼り付けます。これが私たちがあなたを助ける唯一の方法です。あなたがこれまでに試したことを私たちに示していないなら、誰もあなたのためにコードを書くつもりはありません。 –

答えて

0

あなたが欲しいものを行うコードの一部:

String[] students = ... 
double[] averages = new double[students.length]; 

for (int i = 0; i < students.length; i++) { 
    String[] student = students[i].split(","); 
    int sum = 0; 

    for (int j = 4; j < student.length; j++) { 
     sum += Integer.parseInt(student[j]); 
    } 

    averages[i] = (double) sum/(student.length - 4); 
} 

配列averagesが同じ位置に全ての平均値が含まれます。このコードでは間違ったフォーマットは扱われず、残りのすべての値がグレードであると仮定していることに注意してください。

-1

私はしかし、私は何をすべきかを提案することができます...あなたはそれほど適切ではないであろうために書いたコードを推測: 1.スプリット各文字列をStringクラス分割(正規表現)を使用して。文字列をカンマで区切ってください。 (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)) 2.グレードを追加し、学生配列のサイズで除算するだけです。

誰かがコードを提供してくれると思いますが、残念です。

ここ
+0

あなたは本当のことを言っています。私はすでにコードを持っています。 – bencho

-2
public static void main(String[] args) { 
    int grades = 0; 
    String[] students = { "1,John,Smith,[email protected],20,88,79,59", 
      "2,Suzan,Erickson,[email protected] ,19,91,72,85", "3,Jack,Napoli,[email protected],19,85,84,87", 
      "4,Erin,Black,[email protected],22,91,98,82" }; 
    for (int i = 0; i < students.length; i++) { 
     String[] student = students[i].split(","); 
     for (int j = 4; j < student.length; j++) { 
      grades += Integer.parseInt(student[j]); 

     } 
     grades=0;System.out.println(student[2] + ": " +(double) grades/(student.length - 4)); 
    } 
} 
+0

@Nunomr、ありがとう、私はあなたのコードから私が最初のコードで間違いを犯した場所を正確に見ることができます。 – bencho

関連する問題