
正文
评分功能java代码 编写评分程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java初级数组,打分器,5个评委评分,去掉最高和最低分,取剩余平均值
import java.util.Arrays;
import java.util.Scanner;
public class ScoreDemo {
public static void main(String[] args) {
double[] scores = new double[5];
Scanner input = new Scanner(System.in);//扫描器用于读取控制台输入
for (int i = 0; i scores.length; i++) {//输入分数
System.out.print("请输入第" + (i + 1) + "位评委的分数");
String temp = input.nextLine().trim();
scores[i] = Double.parseDouble(temp);
}
getScore(scores);//对分数进行处理的函数
}
private static void getScore(double[] scores) {
//对分数进行排序
double temp;
for (int i = 0; i scores.length - 1; i++) {
for (int j = i + 1; j scores.length; j++) {
if (scores[i] scores[j]) {
temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
//去掉一个高分,一个低分后的平均分
double sum =0;
for (int i = 1; i scores.length-1; i++) {
sum+=scores[i];
}
double pjf = sum/(scores.length-2);
System.out.println("排序后的分数:"+Arrays.toString(scores));
System.out.println("去掉一个最高分:"+scores[scores.length-1]);
System.out.println("去掉一个最低分:"+scores[0]);
System.out.println("最后的平均分是:"+String.format("%.2f",pjf));//平均分保留2位小数
}
}
运行测试
请输入第1位评委的分数92.5
请输入第2位评委的分数90.0
请输入第3位评委的分数93.8
请输入第4位评委的分数95.9
请输入第5位评委的分数97.9
排序后的分数:[90.0, 92.5, 93.8, 95.9, 97.9]
去掉一个最高分:97.9
去掉一个最低分:90.0
最后的平均分是:94.07
相关问答
Q1: 用JAVA编写 “十个评委给一个歌手打分,求出打分的平均值,(去掉最高分和最低分)”怎么编写
class Test
{
public static void main(String []args)
{
int a[]={4,458,53,44,84,22,86,114,98,41};
int q=0;
for(int i=0;i10;i++)
{
for(int j=0;j10;j++)
{
int temp=0;
if(a[i]a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
break;
}
}
}
a[0]=0;
a[9]=0;
for(int x=0;x10;x++)
{
q=a[x]+q;
}
q=q/8;
System.out.println("平均分是"+q);
}
}
Q2: java编写歌曲比赛评分程序,评委给出8个成绩,去掉一个最高分,去掉一个最低分,剩余的求平均得到成绩。
import java.util.Scanner;
public class Grade {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double arr[] = new double[5];
for (int i = 0; i arr.length; i++) {
arr[i] = scan.nextDouble();
}
sort(arr);
average(arr);
}
public static void sort(double arr[]) {
for (int i = 0; i arr.length; i++) {
double max = arr[0];
for (int j = i; j arr.length; j++) {
if (arr[i] arr[j]) {
double temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
public static void average(double arr[]) {
double temp = 0, sum = 0;
for (int i = 1; i arr.length - 1; i++) {
sum += arr[i];
temp = sum / (arr.length - 2);
}
System.out.println(temp);
}
}
Q3: 编写一个java程序来计算学生考试成绩的平均分和他们的分数等级。你可以假设以下数据:
public class Score {
// 记录学生的姓名
private String[] name;
// 记录分数
private int[][] fraction;
// 记录分数等级
private char[] grade;
// 存储数据
private void saveData() {
this.name = new String[] { "Johnson", "Aniston", "Cooper", "Gupta", "Blair" };
this.fraction = new int[][] { { 85, 83, 77, 91, 76 }, { 80, 90, 95, 93, 48 }, { 78, 81, 11, 90, 73 }, { 92, 83, 30, 69, 87 }, { 23, 45, 96, 38, 59 } };
this.grade = new char[this.name.length];
}
public Score() {
// 在构造函数中调用saveData存储数据。
this.saveData();
}
// 计算分数等级。传入一个分数评分功能java代码,返回该分数的评分等级。
private char getGrade(int fraction) {
if (fraction 100) {
// 100分的考卷分数居然超过评分功能java代码了100,肯定和老师有交易,给你个X评分功能java代码!
return 'X';
}
else if (fraction = 85) {
return 'A';
}
else if (fraction = 75) {
return 'B';
}
else if (fraction = 65) {
return 'C';
}
else if (fraction = 50) {
return 'D';
}
return 'F';
}
// 输出成绩/平均分/评分/班级平均分/班级评分
public void printScore() {
int average = 0;// 存储班级的平均分
for (int i = 0; i this.fraction.length; i++) {
System.out.print(this.name[i] + "\t");// 输入学生的名字(\t是输出制表符,相当于按一下Tab的效果)
int temp = 0;// 临时存储数据的变量
for (int x = 0; x this.fraction[i].length; x++) {
temp += this.fraction[i][x];
System.out.print(this.fraction[i][x] + "\t");
}
temp = temp / this.fraction[i].length;// 此时temp的值就是该学生的平均分
this.grade[i] = this.getGrade(temp);// 存入平均分
System.out.println("平均分评分功能java代码:" + temp + "\t评价" + this.grade[i]);// 输出该学生的平均分和评价
average += temp;
}
average = average / this.name.length;
System.out.println("班级平均分:" + average + "\t班级评价" + this.getGrade(average));
}
public static void main(String[] args) {
new Score().printScore();
}
}
运行结果:
Johnson 85 83 77 91 76 平均分:82 评价B
Aniston 80 90 95 93 48 平均分:81 评价B
Cooper 78 81 11 90 73 平均分:66 评价C
Gupta 92 83 30 69 87 平均分:72 评价C
Blair 23 45 96 38 59 平均分:52 评价D
班级平均分:70 班级评价C
Q4: 求JAVA评委打分代码
正好我闲着,给你写一个吧。
我写的这个评委分数是在代码里固定到数组里了,如果你需要运行时手动输入评分,可以将oldScores里的数据改成手动输入就行了(这个不用我再写了吧,如果不会再追问,再告诉你)。
你先新建一个类,将下面的main方法全部复制进去就能运行了,自己看一下吧。
/** 主方法 */
public static void main(String[] args)
{
/** 保存原始评分的数组(如果你需要运行时手动输入分数,将 oldScores中的数据改成手动输入就行了 */
double[] oldScores = {15, 77, 55, 88, 79, 98, 67, 89, 68, 88};
/** 最终将用来保存排序后的数组 */
double[] scores = new double[oldScores.length];
double temp;
/** 平均分 */
double avg = 0;
int k;
/** 将原始评分放入最终排序数组 */
for (int i = 0; i oldScores.length; i++)
{
scores[i] = oldScores[i];
}
/** 开始排序 */
for (int i = 0; i scores.length - 1; i++)
{
k = i;
for (int j = i + 1; j scores.length; j++)
{
if (scores[k] scores[j])
{
k = j;
}
}
if (i != k)
{
temp = scores[k];
scores[k] = scores[i];
scores[i] = temp;
}
}
/** 计算去掉最高分和最低分之后的和 */
double sum = 0;
/** 记录计算平均分的分数个数 */
double num = 0;
for (int i = 1; i scores.length - 1; i++)
{
num++;
sum += scores[i];
}
/** 计算平均分 */
avg = sum / num;
/** 最公平的肯定不是在scores数组两端 */
double zgp = 0;
double cha = 0;
/** 标记与平均值差值最小的分数位置 */
int flag = 0;
/** 开始寻找最公平评分 */
for (int i = 1; i scores.length - 1; i++)
{
/** 为cha赋初始值,注意比较差值要使用绝对值比较 */
if (i == 1)
{
cha = Math.abs(scores[i] - avg);
}
double cha1 = Math.abs(scores[i] - avg);
if (cha1 cha)
{
cha = cha1;
flag = i;
}
}
zgp = scores[flag];
/** 由于最不公平的分数肯定在scores数组的第一个或者是最后一个 */
double bgp = 0;
if (Math.abs(scores[0] - avg) Math.abs(scores[scores.length - 1] - avg))
{
bgp = scores[0];
}
else
{
bgp = scores[scores.length - 1];
}
/** 全部计算完成,下面开始输出结果 */
System.out.println("原始评委分数如下:");
for (int i = 0; i oldScores.length; i++)
{
System.out.print(oldScores[i] + ", ");
}
System.out.println();
System.out.println("排序后分数如下:");
for (int i = 0; i scores.length; i++)
{
System.out.print(scores[i] + ", ");
}
System.out.println();
System.out.println("去掉最高分和最低分后平均分:" + avg);
System.out.println("最公平分数:" + zgp);
System.out.println("最不公平分数:" + bgp);
}
Q5: 编写程序,输入一个学生成绩,给出相应等级:60~100优秀0~50不及格(java代码实现)
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入学生的分数:");
double score = input.nextDouble();
int level1,level2;
if(score=60.0 score=100.0){
System.out.print("该学生成绩为优秀!");
}
else if(score=0 score60.0){
System.out.print("该学生成绩为不及格!");
}
else{
System.out.print("您输入的成绩有误!");
}
}
}
关于评分功能java代码和编写评分程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







