import java.util.*;
class Demo31 {
public static void main(String[] args)
{
int[] arr =readyData();
double rate = getRate(arr); //得到本班 的及格率
while(true){
if(rate<0.6){
for(int i = 0 ; i<arr.length ; i++){
if(arr[i]<60){
arr[i] = arr[i]+2;
}
}
rate = getRate(arr);//重新计算及格率
}else{
break;
}
}
System.out.println("及格率:"+ rate*100+"% ,数组的元素是:"+ Arrays.toString(arr));
}
//计算及格率
public static double getRate(int[] arr){
double count = 0 ; //定义一个变量记录及格的人数
for(int i = 0 ; i<arr.length ; i++){
if(arr[i]>=60){
count++;
}
}
double rate = count/arr.length; // rate 记录及格率的
return rate;
}
//准备数据
public static int[] readyData(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入班级的人数:");
int count = scanner.nextInt();
//创建一个数组对象
int[] arr = new int[count];
//录入学生的成绩
for(int i = 0 ; i<count ; i++){
System.out.println("请输入第"+(i+1)+"位同学的分数:");
arr[i] = scanner.nextInt();
}
scanner.close();
return arr;
}
}
JAVA小练习31——用户输入班级的人数,然后依次输入每个同学的成绩. 输入完毕之后, 如果及格率没有达到60%, 就为每1个没有及格的成绩加2分,直到及格率达到60%为止
最新推荐文章于 2023-08-23 14:49:48 发布