//-------------------------------------基础版-------------------------
//----------------------------------------------------------------------------
package cn.edu.ijn.langsin.test3;
public class Test3 {
static int[] judge_type={1,1,2,2,1}; //数组,用来存放评委类型:1代表专家,2代表大众
static double[] score={8.0,8.2,9.0,8.8,7.8}; //数组,用来存放评委评分
public static int average() {
double sumscore1=0;
double sumscore2=0;
double average1=0;
double average2=0;
int j=0,k=0;
int intscore1;
int intscore2;
int finscore=0;
if(score.length>0){
for(int i=0;i<5;i++){
if(judge_type[i]==1){
j++;
sumscore1=sumscore1+score[i];
}
else if(judge_type[i]==2){
k++;
sumscore2=sumscore2+score[i];
}
else
System.out.println("错误");
}
average1=sumscore1/j;
average2=sumscore2/k;
intscore1=(int)Math.floor(average1);
intscore2=(int)Math.floor(average2);
if(k==0){
finscore=intscore1;
}else if(k!=0){
finscore=(int)Math.floor(average1*0.6+average2*0.4);
}
return finscore;
}else
return 0;
}
public static void main(String[] args) {
System.out.println(average());
}
}
//-------------------------------------------------------优化版-----------------------------
//-----------------------------------------------------------------------------------------------
package cn.langsin.dafen;
import java.util.Scanner;
public class Dafen {
public static int average() {
double sumscore1=0,sumscore2=0,average1=0,average2=0;
int j=0,k=0,intscore1,intscore2,finscore=0;
Scanner scan = new Scanner(System.in);
int[] judge_type=new int[5];
double[] score=new double[5];
for(int m=0;m<judge_type.length;m++){ //输入judge_type的值
System.out.println("输入judge_type的值:");
judge_type[m]=scan.nextInt();
for(int n=m;n<=m;n++){ //输入score的值
System.out.println("输入score的值:");
score[n]=scan.nextDouble();
}
}
if(score.length>0){
for(int i=0;i<5;i++){
if(judge_type[i]==1){
j++;
sumscore1=sumscore1+score[i];
}
else if(judge_type[i]==2){
k++;
sumscore2=sumscore2+score[i];
}
else
System.out.println("错误");
}
average1=sumscore1/j;
average2=sumscore2/k;
intscore1=(int)Math.floor(average1);
intscore2=(int)Math.floor(average2);
if(k==0){
finscore=intscore1;
}else if(k!=0){
finscore=(int)Math.floor(average1*0.6+average2*0.4);
}
return finscore;
}else
return 0;
}
public static void main(String[] args) {
System.out.println(average());
}
}
//-------------------------------------------------------------------------------------------------
PS:递归实现的还没有做好