java作業 流水線

計算平均分

package javawork;


public class AveClass {

public void aveScore(double [] score){
double ave=0d;
for(int i=0;i<score.length;i++){
ave+=score[i];
}
ave/=score.length;
System.out.println("平均分:"+ave);
}
}

從小到大排序,去掉一個最高分,去掉一個最低分

package javawork;


import java.util.Arrays;


public class RevClass {
AveClass ave;
public RevClass(AveClass ave){
this.ave = ave;
}
public void delScore(double[] score){
Arrays.sort(score);
for(int i=0;i<score.length;i++){
System.out.println(score[i]);
}
double score2[] = new double[score.length-2];
System.out.println("去掉一個最高分:"+score[score.length-1]);
System.out.println("去掉一個最低分:"+score[0]);
System.out.println("剩餘得分:");
for(int i=1;i<score.length-1;i++){
score2[i-1]=score[i];
System.out.println(score2[i-1]);
}
ave.aveScore(score2);
}
}

輸入打分教練人數,輸入分數。

package javawork;


import java.util.Scanner;


public class ScoreClass {
RevClass rev;
public ScoreClass(RevClass rev){
this.rev = rev;
}
public void scannerScore(){
Scanner sc = new Scanner(System.in);
System.out.println("(要求裁判大於兩人)請輸入裁判人數:");
int num = sc.nextInt();
double score[] = new double[num];
for(int i=0;i<score.length;i++){
System.out.println("教練"+(i+1)+"請打分:");
score[i] = sc.nextDouble();
}
rev.delScore(score);
}

}

流水線類,實現動態打分

package javawork;


public class WaterClass {
AveClass ac ;
RevClass rc ; 
ScoreClass sc;
public WaterClass(){
ac = new AveClass();
rc= new RevClass(ac);
sc = new ScoreClass(rc);
}

public void basketScore(){
sc.scannerScore();
}

}

主函數

package javawork;


public class Main {
public static void main(String[] args) {
WaterClass wc = new WaterClass();
wc.basketScore();
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章