2016-04-23 14 views
0

平均的な関数をこの結果関数に渡す方法を知っておく必要がありますか?arraylistを横断する方法

import java.util.ArrayList; 
import java.util.Scanner; 

public class main { 


public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 
    ArrayList <Calculations> students = new ArrayList <Calculations>(); 
    for (int i = 0; i < 5; ++i) { 
    Calculations s = new Calculations(); 
    System.out.print("Enter name : "); 
    s.name = scan.next(); 
    System.out.print("Eter percentage : "); 
    s.percetage = scan.nextDouble(); 
    students.add(s); 
    System.out.println("Enter Mrks Obtained"); 

    } 


    for (Calculations s: students) { 
    s.result(); 
    for (Calculations i: students) { 
    s.Average(); 
    } 


    } 
} 

} 

これは結果クラス:

import java.util.Scanner; 

public class Calculations { 



public String name; 
public double percetage; 
public int integer; 
public void result() { 
    System.out.println((percetage >= 35.0 f ? (name + " Pass") : (name + " Fail"))); 

} 
public void Average() { 
    // TODO Auto-generated method stub 
    int mark[] = new int[5]; 
    int i; 
    float sum = 0; 
    float avg, perc; 
    Scanner scan = new Scanner(System.in); 

    System.out.print("Enter marks Obtained in 5 Subjects : "); 
    for (i = 0; i < 5; i++) { 
    mark[i] = scan.nextInt(); 
    sum = sum + mark[i]; 
    } 

    avg = sum/5; 
    perc = (sum/500) * 100; 

    System.out.print("Average Marks = " + avg); 

    System.out.print("\nPercentage = " + perc + "%"); 
} 


} 
+0

問題はなんですか?何を達成しようとしていますか?このコードスニペットはどこで失敗していますか? – Mureinik

答えて

0
for(Calculations s : students){ 
     s.result(); 
     //for(Calculations i : students){s.Average(); } 
     s.Average(); 
} 

あなたが二回ループにあなたのArrayListを持っていけない

これはメインのクラスです。コードを変更してみてください。

0

あなたの不完全な質問に従うのはとても難しかった。あなたのプログラムは私の日食で正常に動作します。私は次のように提案します:

1)Calculationsクラスのフィールド/スペルの名前を、メインクラスで使用されているものと正確に一致するようにチェックします。 2)あなたは文字列スキャナを入力しているので、次のように行を読み取ろう:

s.name = scan.nextLine(); 

を、私はそれが助けを願っています。

関連する問題