当前位置: 首页 > article >正文

Java题集(由入门到精通)03

此系列文章收录大量Java经典代码题(也可以算是leetcode刷题指南),希望可以与大家一起努力学好Java。3、2、1,请看!

目录

1.创建学生成绩表

2.冒泡排序

3.模拟彩票中奖

4.杨辉三角

1.创建学生成绩表

输入n个学生的成绩,并打印成绩高于平均分的学生。
分析:在这个问题中,口个学生的成绩需要同时存在,将其保存在一个数组中。n在程序
运行时从键强输人 (程序运行时决定到底有几个学生)。在声明数组时只出现了一个引用,此时不必也不能确定数组的大小;在程序运行的过程中,用new关键字动态创建数组对象,此时即可以传人已知的数组大小n。

    public static void main(String[] args) throws Exception {
        Scanner scn=new Scanner(System.in);
        System.out.println("请输入学生数量");
        int n=scn.nextInt();
        System.out.println("请输入学生的成绩");
        double []score=new double[n];
        double sum=0;
        for(int i=0;i<score.length;i++)
        {
            double m=scn.nextDouble();
            score[i]=m;
            sum+=score[i];
        }
        double ave=sum/score.length;
        System.out.println("平均成绩为"+ave);
        for(int i=0;i<score.length;i++)
        {
            if(score[i]>ave){
                System.out.println(score[i]);
            }
                
        }
    }

2.冒泡排序

所谓冒泡排序在这里就不多赘述了,代码如下:

    public static void main(String[] args) throws Exception {
        Scanner scn=new Scanner(System.in);
        System.out.println("请输入数据数量");
        int n=scn.nextInt();
        int []array=new int[n];
        for(int i=0;i<array.length;i++)
        {
            array[i]=(int)(Math.random()*100);
            System.out.print(array[i]+" ");
        }
        int temp=0;
        for(int i=0;i<array.length-1;i++)
        {
            for(int j=0;j<array.length-i-1;j++)
            {
                if(array[j]>array[j+1])
                {
                    temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }      
        }
        System.out.println("排序后结果为:");
        for(int i=0;i<array.length;i++)
            System.out.print(array[i]+" ");
    }

3.模拟彩票中奖

中国福利彩票的双色球开奖规则:从编号是01~33的红色球中选取6个,从编号是01~16的蓝色球中选取一个。
分析:模拟这个抽奖过程,将红色球和蓝色球各自保存在一个 boolean 数组中,数组元素下标代表球号(从下标1开始使用),数组元素取值true/false 代表该球是否被选中(初始均为false)。抽奖过程中生成随机数代表开奖球在数组中的编号,如果该球尚未被选出,则将其选中标记置为 true。

    public static void main(String[] args) throws Exception {
        Scanner scn=new Scanner(System.in);
        boolean []red=new boolean[34];//红球,编号1~33,默认值为:false
        boolean []blue=new boolean[17];//篮球,编号为1~16
        System.out.println("准备开奖");
        int cont=0;
        while (cont<6) {
            int m=(int)(Math.random()*33)+1;//随机生成数字
            if(red[m]==false)//未被标记则标记
            {
                red[m]=true;//进行标记
                cont++;
            }
        }
        int n=(int)(Math.random()*16)+1;
        if(blue[n]==false)
            blue[n]=true;
        System.out.println("红色球编号为:");
        for(int i=0;i<red.length;i++)
        {
            if(red[i]==true)
            System.out.println((i<10?"0"+i:i)+" ");
        }      
        System.out.println("蓝色球编号为:");
        for(int i=0;i<blue.length;i++)
        {
            if(blue[i]==true)
                System.out.println((i<10?"0"+i:i));
        }
    }

4.杨辉三角

如下面图片的数学模型即为杨辉三角

分析:可以使用Java不规则数组实现,在程序运行过程中动态创建数组

    public static void main(String[] args) throws Exception {
        Scanner scn=new Scanner(System.in);
        System.out.println("输入要打印杨辉三角的行数");
        int n=scn.nextInt();
        int [][]tri=new int[n][];
        tri[0]=new int[1];
        tri[0][0]=1;//第一行为1
        for(int i=1;i<tri.length;i++)
        {
            tri[i]=new int[i+1];
            tri[i][0]=tri[i][i]=1;//每一行两端为1
            for(int j=1;j<i;j++)
            {
                tri[i][j]=tri[i-1][j-1]+tri[i-1][j];
            }
        }
        //输出杨辉三角
        for(int i=0;i<tri.length;i++)
        {
            for(int j=0;j<tri[i].length;j++)
                System.out.printf("%4d",tri[i][j]);
            System.out.println();
        }
    }

这篇文章到此结束,感谢各位的阅读和所提出的宝贵意见,大家也可以试着自己动手编写代码。如果觉得这篇文章写的还可以或者对您有帮助,麻烦点赞收藏加转发!!!


http://www.kler.cn/news/293641.html

相关文章:

  • 【区块链 + 人才服务】链学汇教育区块链平台 | FISCO BCOS应用案例
  • 国际化产品经理的挑战与机遇:跨文化产品管理的探索
  • [Unity3D]胡闹厨房复刻笔记
  • mysql笔记3(数据库、表和数据的基础操作)
  • C++——入门基础(下)
  • [C#学习笔记]注释
  • 168套Android项目源码和120多套各类别小程序模板源码
  • KADAL | Kriging代理模型Python工具箱推荐
  • StarRocks Lakehouse 快速入门——Apache Iceberg
  • 应用层协议HTTP
  • Flask中实现WebSocket需要什么组件
  • 泛微E9 Ecology9-JS应用高级进阶视频教程(重磅)
  • linux autofs配置
  • [数据集][目标检测]鲜花检测数据集VOC+YOLO格式25215张106类别
  • Oracle中关于not in的替代方案
  • kafka及异步通知文章上下架
  • Jenkins构建CI/CD
  • VSC++: 括号对称比较
  • 使用Cskin时候 遇到按钮有默认阴影问题解决
  • Java语法全解析:掌握基本规则,打造稳固编程基础!
  • 企业级Ansible自动化运维项目案例:实战与技巧
  • 集成 Logrus 到 Gin:打造高效的 Go Web 日志系统
  • 【python因果推断库10】工具变量回归与使用 pymc 验证工具变量3
  • 音频基础学习四——声音的能量与分贝
  • 探索Mem0:下一代人工智能与机器学习内存管理基础设施(二)Mem0+Ollama 部署运行
  • .net中的内存管理和垃圾回收
  • CSS学习14[重点]--定位、边偏移、定位模式
  • linux-性能优化命令
  • Css:属性选择器、关系选择器及伪元素
  • 【项目二】C++高性能服务器开发——日志系统(日志器,日志级别,日志事件)