當前位置:編程學習大全網 - 編程語言 - 編寫java程序,輸入10個成績,計算最高分、最低分、平均分,並按從小到大排序,統計高於平均分的人數。

編寫java程序,輸入10個成績,計算最高分、最低分、平均分,並按從小到大排序,統計高於平均分的人數。

Java 8 以上(包含java8) Lambda 方式,這種方式比較簡潔,代碼如下:

import?java.util.ArrayList;

import?java.util.List;

import?java.util.Scanner;

public?class?App20?{

public?static?void?main(String[]?args)?{

Scanner?scanner?=?new?Scanner(System.in);

List<Float>?scores?=?new?ArrayList<>();

System.out.println("請輸入10個人的成績:");

for?(int?i?=?0;?i?<?10;?i++)?{

scores.add(scanner.nextFloat());

}

float?max?=?scores.stream().max((x,?y)?->?Float.compare(x,?y)).get();

System.out.println("最高分:"?+?max);

float?min?=?scores.stream().min((x,?y)?->?Float.compare(x,?y)).get();

System.out.println("最低分:"?+?min);

float?average?=?scores.stream().reduce(0.0f,?Float::sum)?/?scores.size();

System.out.println("平均分:"?+?average);

scores.sort((x,?y)?->?Float.compare(x,?y));

System.out.println("從小到大分數排序:");

scores.forEach(s?->?System.out.print(s?+?"?"));

long?n?=?scores.stream().filter(r?->?r?>?average).count();

System.out.println("\n高於平均分的有"?+?n?+?"個");

}

}

傳統方式,如下:

import?java.util.Arrays;

public?class?App21?{

public?static?void?main(String[]?args)?{

float[]?scores?=?new?float[]?{?10f,?9f,?8f,?7f,?6f,?5f,?4f,?3f,?2f,?1f?};

float?max?=?Float.MIN_VALUE;

for(float?score?:?scores)?{

if?(score?>?max)?{

max?=?score;

}

}

System.out.println("最高分:"?+?max);

float?min?=?Float.MAX_VALUE;

for(float?score?:?scores)?{

if?(score?<?min)?{

min?=?score;

}

}

System.out.println("最低分:"?+?min);

float?sum?=?0;

for(float?score?:?scores)?{

sum?+=?score;

}

float?average?=?sum?/?scores.length;

System.out.println("平均分:"?+?average);

//?從小到大排序

Arrays.sort(scores);

System.out.println("從小到大分數排序:");

for(float?score?:?scores)?{

System.out.print(score?+?"?");

}

int?n?=?0;

for(float?score?:?scores)?{

if?(score?>?average)

n++;

}

System.out.println("\n高於平均分的有"?+?n?+?"個");

}

}

  • 上一篇:初中沒畢業的男生如果學電腦編程可行嗎
  • 下一篇:“木馬”這個名稱的由來
  • copyright 2024編程學習大全網