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

(一)基于IDEA的JAVA基础10

相信最近许多朋友学习语言可能会有焦虑,“现在人工智能这么发达,丢个指令进去它就还给你一个结果,我们学习它还有意义吗?”。

对于这个问题,就像我们小学学习算数,我们明知道有计算器这么方便的东西,直接给个过程它就给你一个结果,那你说算数还要不要学?AI终究只是个工具,是为了帮助我们工作更加快捷的,这个不用担心,取代人的永远不是工具,是会使用工具的人。

2a46ceac25d249b0a2d8207db64cedb0.jpg

继续回到我们的进程,上一节我们了解了那些个循环结构和特点,继续来做一些循环练习,这一块可能对大学生比较友好,可能会涉及他们的一些考试题,也都比较简单,废话不多说,直接来看练习:

练习1:

要求模拟考试结算系统,输入三次成绩,判断平均分。

老样子先分析一波,我们是不是要先用Scanner接收一下,成绩可能有小数,所以选double类型声明一个成绩变量,然后用个for循环依次加起来,输入几次平均分成几份就行了。

直接来看代码:

public class Test01 {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        //用sum接收一下总成绩

        double sum=0;

        for (int i=0;i<3;i++){

            System.out.println("请输入第"+(i+1)+"次成绩");

            //获取键盘输入成绩

            double score = input.nextDouble();

            //把每次成绩加起来

            sum+=score;

        }

        System.out.println("你的总成绩是:"+sum);

        System.out.println("平均成绩:"+sum/3);

    }

}

cfd32e0deb1e47f39eead18a11b4d639.png

 因为想到有人可能乱输成绩,我们还可以在for里加个if判断一下区间:

fd694afab28046db906d300ad26e9e79.png

 如果成绩太低我们是不是还可以加一个嘲笑语句,这就不细说了。

练习2:

使用三种循环结构while,do.while,for循环完成计算100以内偶数之和。

先看for循环

 

public class Test01 {

    public static void main(String[] args) {

        int num=0;

        for (int i=2;i<100;i+=2){

            num+=i;

        }

        System.out.println(num);

    }

}

d724ac8a76c04b62bc7959795f64d305.png

 我们这个一百以内没带100,想加上直接在上面for里面换换成i<=100就可以了,别的没什么好说的。

while:

public class Test01 {

    public static void main(String[] args) {

        //while先声明起始变量,循环初始值

        int i=2;

        //定义一个num接收和

        int num=0;

        while (i<100){

            num+=i;

            i+=2;

        }

        System.out.println(num);

    }

}

16d85b2dec3d40f3a31666c8c0f0998f.png

 结果也是非常完美,想带上100也是while后面换成i<=100

do while:

public class Test01 {

    public static void main(String[] args) {

       //定义起始变量

        int i=0;

        int num=0;

        do {

            num+=i;

            i+=2;

        }while (i<100);

        System.out.println(num);

    }

}

e0be5cd0b8984432994ff5397ec2f518.png

也没什么可说的,自己照着过程走一遍就知道了。

练习3:

一张纸0.001米,对折多少次能超过珠峰高度。

public class Test01 {

    public static void main(String[] args) {

        //接收纸张厚度

        double paper=0.001;

        //接收珠峰高度

        double mountain=8848;

        for (int i=1; i>0;i++){

            paper=paper*2;

            //打出每次折叠的结果,也可以不写,方便查看过程

            System.out.println(paper);

            if (paper>mountain){

                System.out.println("折叠了"+i+"次,超过珠峰时的高度是"+paper);

                break;

            }

        }

    }

}

ab0bd46079a54d189172f21a52da6e5c.png

 珠峰问题因该是每个编程初学者都完成的问题,也比较简单。

练习4:

键盘录入某学生体育测试100米跑步成绩,成绩在20s内则通过考试,否则提示一周后重新测试。

public class Test01 {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.println("请输入100米测试成绩");

        //用s接收秒数

        double s = input.nextDouble();

        if (s<20){

            System.out.println("恭喜通过测试");

        }

        while (s>=20){

            System.out.println("请一周后重新测试");

            System.out.println("请输入100米测试成绩");

            //前面已经声明过了,这里直接来用

            s=input.nextDouble();

            if (s<20){

                System.out.println("恭喜通过重测");

            }

        }

    }

}

1018667819c84b4790cac5f3d9442976.png

 这个使用了嵌套稍微复杂一点但也不难。

 

 

相关文章:

  • 瞪铃企业山东申报要求
  • The engine “node“ is incompatible with this module
  • linux时间同步工具chrony的配置和时间设置的相关说明
  • CH347
  • Nginx 日志输出配置json格式
  • ⾃定义类型:联合和枚举
  • 【Web】记录Polar靶场<简单>难度题一遍过(全)
  • 电脑分辨率怎么调,电脑分辨率怎么调整
  • 【面试题】RocketMQ怎么处理消息积压?
  • JavaScript是如何实现页面渲染的
  • ChatGPT技巧分享:如何用AI提升学术写作水平
  • sftp相关
  • Open CASCADE学习|将双曲线转换为B样条曲线
  • git仓库太大只下载单个文件或文件夹
  • 突破编程_前端_JS编程实例(分割窗体组件)
  • 分享一款快速APP功能测试工具
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Angular Elements 及其运作原理
  • Brief introduction of how to 'Call, Apply and Bind'
  • fetch 从初识到应用
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JS实现简单的MVC模式开发小游戏
  • October CMS - 快速入门 9 Images And Galleries
  • oschina
  • Vue官网教程学习过程中值得记录的一些事情
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 技术:超级实用的电脑小技巧
  • 异步
  • 【云吞铺子】性能抖动剖析(二)
  • ​configparser --- 配置文件解析器​
  • # Maven错误Error executing Maven
  • (1)bark-ml
  • (独孤九剑)--文件系统
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十一)手动添加用户和文件的特殊权限
  • (转)我也是一只IT小小鸟
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core 中的路径问题
  • .net mvc 获取url中controller和action
  • .NET Reactor简单使用教程
  • .NET 的程序集加载上下文
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET程序员迈向卓越的必由之路
  • .net中调用windows performance记录性能信息
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @synthesize和@dynamic分别有什么作用?