编写java程序,输入10个成绩,计算最高分、最低分、平均分,并按从小到大排序,统计高于平均分的人数。

编写java程序,输入10个成绩,计算最高分、最低分、平均分,并按从小到大排序,统计高于平均分的人数。,第1张

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 + "个")

}

}

import java.util.Scanner

public class test {

static int s

public static void main(String[] argv) {

int [] num=new int[20]

Scanner scanner=new Scanner(System.in)

Integer a

int i

for(i=1i<=20i++){

System.out.println("请输入第"+i+"一个分数(结束请输入520嘿嘿):")

a=scanner.nextInt()

num[i-1]=a

if(a==520){

break

}

}

for(int m=0m<i-1m++)

{

s=s+num[m]

}

System.out.println("总共录入辩衡了"+(i-1)+"个分芹滚数")

System.out.println("总成绩是"+s+"分")

System.out.println("平均分是"+s/(i-1)+"分")

for(Integer m=0m<num.length-1m++)

{ if(num[m]>0&&num[m]!=520){

if(num[m]>=90)

System.out.println(num[m]+"优秀")

else if(num[m]>=80)

System.out.println(num[m]+"良好")

else if(num[m]>=70)

System.out.println(num[m]+"中等")

else if(num[m]>=60)

System.out.println(num[m]+"及格"携首做)

else

System.out.println(num[m]+"不及格")

}else break

}

}

}

我的代码很简洁,采纳我呗。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12563368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存