我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

javaHomework3_刘国平_2021.03.11

[复制链接]
果丹卷学员认证 发表于 2021-3-11 22:30:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
package day05;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import org.w3c.dom.ls.LSOutput;
import java.util.*;

public class homework3 {
    public static void main(String[] args) throws Exception {
        //求平均成绩
        average();
        System.out.println("=================按索引返回新列表========================");
        //按索引返回新列表
        List<Integer> nums= Arrays.asList(1,2,3,4,5,6);
        List<Integer> nums2= Arrays.asList();
        //正常用例
        System.out.println("原始列表:"+nums+" 开始索引:"+0+" 结束索引:"+5+" 索引列表:"+index(nums,0,5));//正常 边界值
        System.out.println("原始列表:"+nums+" 开始索引:"+3+" 结束索引:"+3+" 索引列表:"+index(nums,3,3));//正常begin==end
        System.out.println("原始列表:"+nums+" 开始索引:"+1+" 结束索引:"+4+" 索引列表:"+index(nums,1,4));//正常begin<end
        try {
            System.out.print("原始列表:"+nums2+" 开始索引:"+3+" 结束索引:"+2 );
            System.out.println("原始列表:"+nums+"索引列表:"+index(nums2,3,2));//异常:空列表
        } catch (Exception e) {
            System.out.println(" 异常信息为:"+e.getMessage());
            e.printStackTrace();//打印调用栈
        }
        try {
            System.out.print("原始列表:"+nums+" 开始索引:"+3+" 结束索引:"+2 );
            System.out.println("原始列表:"+nums+"索引列表:"+index(nums,3,2));//异常:begin>end
        } catch (Exception e) {
            System.out.println(" 异常信息为:"+e.getMessage());
            e.printStackTrace();//打印调用栈
        }
        try {
            System.out.print("原始列表:"+nums+" 开始索引:"+-1+" 结束索引:"+5 );
            System.out.println("原始列表:"+nums+"索引列表:"+index(nums,-1,5));//异常:begin<0边界值
        } catch (Exception e) {
            System.out.println(" 异常信息为:"+e.getMessage());
            e.printStackTrace();//打印调用栈
        }
        try {
            System.out.print("原始列表:"+nums+" 开始索引:"+0+" 结束索引:"+6 );
            System.out.println("原始列表:"+nums+"索引列表:"+index(nums,0,6));//异常:end>5边界值
        } catch (Exception e) {
            System.out.println(" 异常信息为:"+e.getMessage());
            e.printStackTrace();//打印调用栈
        }
    }

    //1. 列表中存放着学生10次的成绩,去掉一个最高分,去掉一个最低分后,计算平均分。
    public static void average(){
        Scanner chengji=new Scanner(System.in);
        System.out.println("请输入10个成绩");
        LinkedList<Float> scores=new LinkedList<>();
        for(int i=0;i<10;i++){
            float score=chengji.nextFloat();
            scores.add(score);
        }
        //打印学生成绩
        System.out.println("学生成绩为:"+scores);
        Collections.sort(scores);
        float max=Collections.max(scores);
        float min=Collections.min(scores);
        scores.removeLast();
        scores.removeFirst();
        //打印去掉最高分和最低分后学生成绩
        //System.out.println("去掉最高分和最低分后升序成绩:"+scores);
        float sum=0;
        for(int i=0;i<8;i++){
            sum+=scores.get(i);
        }
        float avgscore=sum/8;
        System.out.println("=====================平均成绩===========================");
        System.out.println("去掉最高分"+max+" 去掉最低分"+min+" 后,平均成绩为"+avgscore);
    }

    //        2. 定义一个静态方法,类似python中切片的功能,参数1是一个整数列表,参数2是开始索引,参数3是结束索引。
//        返回包含开始、包含结束的子列表
//        比如传入 [1,2,3,4,5] , 1, 3 返回[2,3,4]
//        (1)、对参数做检查。
//        (2)、设计用例测试这个方法。
    public static List<Integer> index(List<Integer> aa,int begin,int end) throws Exception {
        LinkedList<Integer> bb=new LinkedList<>();
        if(aa.size()==0){
            throw new Exception ("输入为空列表,不合法");
        }else if(0<=end&&end<begin&&end<aa.size()){
            throw new Exception("初始索引大于结束索引,不合法");
        }else if(begin>=aa.size()||end>=aa.size()||begin<0||end<0){
            throw new Exception("索引值不在列表范围内,不合法");
        }
        for(int i=begin;i<=end;i++){
            bb.add(aa.get(i));
        }
        return bb;
    }
}

回复

使用道具 举报

关注0

粉丝0

帖子15

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026