作业练习,一维数组实现打分功能

/*
 * 一位数组:实现打分
 */
package com.lianxi;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test7 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Judge juage=new Judge();
        System.out.println(juage.lastFen());
    }

}
class Judge
{
    //定义一个可以存放8个小数的数组
    float fens[]=null;
    int size=3;
    //构造函数
    public Judge()
    {
        fens=new float[size];
        //初始化。
        //输入流
        InputStreamReader isr=new InputStreamReader(System.in);
        BufferedReader br=new BufferedReader(isr);

            try{
                for(int i=0;i<fens.length;i++)
                {
                    System.out.println("请输入第"+(i+1)+"个裁判的成绩");
                    fens[i]=Float.parseFloat(br.readLine());
                }
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                 try{
                     br.close();
                 }catch(IOException e){
                     e.printStackTrace();
                 }
            }

    }
    //得到运动员的最后得分
    public float lastFen()
    {
        //去掉最低分(目的就是找到最低分的下标)
        //去掉最高分
        //得到最后分
        float lastFen=0;
        float allFen=0;
        int maxIndex=this.getHignFenIndex();
        int minIndex=this.getLowFenIndex();

        for(int i=0;i<fens.length;i++)
        {
            if(i!=minIndex&&i!=maxIndex)
            {
               allFen+=fens[i];

            }
        }
        return allFen/(fens.length-2);
    }    

    //去掉最高分
    public int getHignFenIndex()
    {
        //选择法:认为第一个是最低的
        float maxFen=fens[0];
        int maxIndex=0;
        for(int i=1;i<fens.length;i++)
        {
            if(maxFen<fens[i])
            {//修改最低分
            maxFen=fens[i];
            maxIndex=i;
            }
        }
        return maxIndex;
    }
    //去掉最低分的下标(下标)
    public int getLowFenIndex()
    {
        //选择法:认为第一个是最低的
        float minFen=fens[0];
        int minIndex=0;
        for(int i=1;i<fens.length;i++)
        {
            if(minFen>fens[i])
            {//修改最低分
            minFen=fens[i];
            minIndex=i;
            }
        }
        return minIndex;
    }

}
时间: 2024-10-11 17:06:31

作业练习,一维数组实现打分功能的相关文章

break与continue,while 循环和一维数组的学习及作业

1.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例: int i = 1; for(;;) { if(i>100) { break; } Console.Write(i+"\t"); i++; } continue的案例: for (int i = 1; i <= 100; i++) { if(i%2 == 0) { continue; } Console

输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩 从大到小打印。三个功能(输入是一个函数,求平均分是一个函数,排序是一个 函数)都用函数实现,最后在main方法中调用。

/*5.输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩从大到小打印.三个功能(输入是一个函数,求平均分是一个函数,排序是一个函数)都用函数实现,最后在main方法中调用.*/ #include <stdio.h> int inputScore(){ int score; scanf("%d",&score); return score;} double avg(int scores[],int length){ int i,score = 0;

C# 一维数组(1)

一.复习: 1.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例:int i = 1;for(;;){if(i>100){break;}Console.Write(i+"\t");i++;} continue的案例:for (int i = 1; i <= 100; i++){if(i%2 == 0){continue;}Console.Write(i +

一维数组求最大子数组(解决溢出问题)

一.题目要求 题目:返回一个整数数组中最大子数组的和. 要求: 要求程序必须能处理1000 个元素: 每个元素是int32 类型的: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 二.设计思想 程序在宏里面定义出了数组长度的大小,在长度超过100万的时候程序直接崩溃,其实这并不是因为结果太大导致的数值溢出,而是因为内存溢出,我们的数组是定义在程序内部的,属于局部变量,存放位置在栈上

java一维数组学习

/* * java学习: * 一维数组的使用: 声明语法 DataType[] name 或 DataType name[]. 初始化语法 DataType[] name = new DataType[length]. DataType[] name = new DataType[] { element1, element2, ...elementn }. DataType[] name = { element1, element2, ...elementn }. Java中使用关键字new创建

第二次作业: 二维数组

高级语言程序设计报告   实习题目 第二次作业: 二维数组 P228计算机双学位第8章实验题:学生成绩管理系统 l 在上次作业的基础上,改为每学生2门课,用二维数组编程实现相应功能,相应功能所有涉及分数的均需可以处理每门课程分数及每个学生课程总分. l 涉及到排序的,均需提供冒泡及选择两种排序方法,可增加菜单项. l 功能5中按学号查询学生排名及成绩,要求用折半法,为此你的学生数据可以多一点. l 数组中可以事先有数据(省却每次输入数据浪费时间),为此输入数据菜单可以改造为增加数据菜单. l 在

C语言--一维数组,字符数组

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { #pragma mark----------数组 //数组是容器,相同数据类型 //构造类型 // int a[3]={5,2,0}; //类型 // int[3]; //变量名 // a; //初值 // {5,2,0}; // int a[4] = {9,8,7,6}; // float b[6] = {2.5,3.14}; // char

知识点-------一维数组

什么是数组? 内存中连续存储同一类数据的一块空间. 分类:一维,二维,多维. 数组---连续性,同类性,不能随便插入.增加.删除数据. ★一维数组: 类似于:豆角(一维).(□□□□□□□□)每个豆荚(□)里面只放一个豆子. 1.定义:数据类型[] 数组名 = new 数据类型[数组长度]; int[] a = new int[10]; string[] b = new string[20]; 2.赋值: (1)int[] a = new int[10]{21,22,23,24,25,26,27

函数、内存、一维数组、二维数组【4】

  函数的定义 什么是函数? •函数就是定义在类中的具有特定功能的一段独立小程序. •函数也称为方法. 函数的格式: •修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)   {   执行语句;   return 返回值;   }   返回值类型:函数运行后的结果的数据类型.   参数类型:是形式参数的数据类型.   形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数.   实际参数:传递给形式参数的具体数值.   return:用于结束函数.   返回值