Java入门篇 之 逻辑控制(练习题篇)
博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦;
个人认为,只要自己努力在将来的某一天一定会看到回报,在看这篇博客的你,不就是在努力吗,所以啊,不要放弃,路上必定坎坷,但是成功后放眼望去,这将是青春很浓重的一笔
今日份励志文案:若结局非你所愿,请在尘埃落定前奋力一搏
加油!!!!!
目录
一.第一题
1.1 解题思路
二.第二题
2.1 解题思路
三.第三题
3.1 解题思路
四.第四题
4.1 解题思路
五.第五题
5.1 解题思路
六. 第六题
6.1 解题思路
注意:博主的答案并不是唯一的,每道题都有很多种写法,感兴趣的可以自己尝试一下
如果看不懂博主的代码,博主个人认为,你对逻辑控制学的不是太扎实,建议看一下博主上一篇对于逻辑控制的讲解
一.第一题
题目:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
1.1 解题思路
1. 从上述表达式可以分析出
a. 该表达式主要由100项,基数项为正,偶数项为负
2. 设置一个循环从1~100,给出表达式中的每一项:1.0/i, 注意此处不能使用1,否则结果全部为0
然后使用flag标记控制奇偶项,奇数项为正,偶数项为负
然后将所有的项相加即可
答案
public static void main(String[] args) {double sum = 0;int flg = 1;for (int i = 1; i <= 100; i++) {sum += 1.0/i * flg;flg = -flg;}System.out.println(sum);
}
二.第二题
题目:输出一个整数的每一位,如:123的每一位是3,2,1
2.1 解题思路
本题主要考虑,如何获取一个数字的每一位:
“ / ” 除法是保留整数
“ % ” 取余是保留余数
例如:
123 % 10 = 3
123/10=12 12%10=2
12/10=1 1%10= 1
代码如下:
答案
public static void main1(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入一个整数:");int n = scanner.nextInt();while (n != 0) {System.out.print(n % 10+" ");n /= 10;}}
三.第三题
题目:编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序
3.1 解题思路
这道题判断相等用到的是 equals () 判断相等,但是这个方法不适用于基本类型,基本类型的判断用的还是" == " 和" != "
答案
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int count = 3;System.out.print("请创建你的密码num=");String num=scanner.nextLine();while (count != 0) {System.out.println("请输入你的密码:");String password = scanner.nextLine();//if(password == "123") 这个判断相等是错误的if(password.equals(num)) {System.out.println("登录成功!");break;}else {count--;System.out.println("你还有"+count+" 次机会!");}}}
四.第四题
题目:求斐波那契数列的第n项。(迭代实现)
4.1 解题思路
斐波那契数列定义为:1 1 2 3 5 8 13 21 我们可以看到,从第3项开始,都等于前一项+前一项的前一项的和。
3=1+2
5+2+3
13 = 5+8
我们可以先定义f1保存第一项的值,f2保存第2项的值,f3保存第3项的值。
每次算法一个f3,就同步更新f1和f2的值
答案
public static int fib(int n) {if(n == 1 || n == 2 ) {return 1;}int f1 = 1;int f2 = 1;int f3 = 1;for (int i = 3; i <= n; i++) {f3 = f1+f2;f1 = f2;f2 = f3;}return f3;}public static void main(String[] args){Scanner scanner =new Scanner(System.in);System.out.print("请输入斐波那契数列的第n项:");int n= scanner.nextInt();int N=fib(n);System.out.print("斐波那契的第n项是"+N);}
}
五.第五题
题目:在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果
5.1 解题思路
- 方法名相同
- 参数列表不同(数据类型,个数,顺序)
- 返回值无关
答案
public static int sum(int a,int b) {return a+b;}public static double sum(double a,double b,double c) {return a+b+c;}public static void main(String[] args){Scanner scanner =new Scanner(System.in);System.out.print("请输入两个整数");int a=scanner.nextInt();int b=scanner.nextInt();int c=sum(a,b);System.out.print("请输入三个小数");double d=scanner.nextDouble();double e=scanner.nextDouble();double f=scanner.nextDouble();double g=sum(d,e,f);System.out.println(c);System.out.println(g);}
六. 第六题
题目:在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?
6.1 解题思路
本题可以借助Java原生类Math当中的max方法求最大值,也可以自己通过If else进行比较。
Math的使用 不需要导入相关的包
答案
public static int max(int a,int b) {return Math.max(a,b);}public static double max(double a,double b,double c) {double m = Math.max(a,b);return Math.max(m,c);}public static void main(String[] args){Scanner scanner =new Scanner(System.in);System.out.print("请输入两个整数");int a=scanner.nextInt();int b=scanner.nextInt();int c=max(a,b);System.out.print("请输入三个小数");double d=scanner.nextDouble();double e=scanner.nextDouble();double f=scanner.nextDouble();double g=max(d,e,f);System.out.println(c);System.out.println(g);
}
如果有解释的不对或者不清晰,如果可以从评论区指出,我一定会加以修改,万分感谢
最后麻烦大佬们动一下发财的小手一键三连,万分感谢
相关文章:
Java入门篇 之 逻辑控制(练习题篇)
博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦; 个人认为,只要自己努力在将来的某一天一定会看到回报,在看这篇博客的你,不就是在努力吗,所以啊,不要放弃,路上必定坎坷&#x…...
Android Google登录并获取token(亲测有效)
背景: Android 需要用到Google的登录授权,用去token给到服务器,服务器再通过token去获取用户信息,实现第三方登录。 我们通过登录之后的email来获取token,不需要server_clientId;如果用server_clientId还…...
npm ERR! code ELIFECYCLE
问题: 一个老项目,现在想运行下,打不开了 npm install 也出错 尝试1 、使用cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org cnpm install 还是不行 尝试2、 package.json 文件,去掉 那个插件 chorm…...
Mgeo:multi-modalgeographic language model pre-training
文章目录 question5.1 Geographic Encoder5.1.1 Encoding5.1.2 5.2 multi-modal pre-training 7 conclusionGeo-Encoder: A Chunk-Argument Bi-Encoder Framework for Chinese Geographic Re-Rankingabs ERNIE-GeoL: A Geography-and-Language Pre-trained Model and its Appli…...
[激光原理与应用-75]:西门子PLC系列选型
目录 一、西门子PLC PLC系列 二、西门子PLC S7 1200系列 2.1 概述 2.2 12xx系列比较 三、西门子 PLC 1212C系列 四、主要类别比较 4.1 AC/DC/RLY的含义 4.2 AC/DC/RLY与DC/DC/DC 4.3 直流输入与交流输入比较 4.4 继电器输出与DC输出的区别 一、西门子PLC PLC系列 …...
Linux上编译sqlite3库出现undefined reference to `sqlite3_column_table_name‘
作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 在Ubuntu 18上编译sqlite3库后在运行程序时出现undefined reference to sqlite3_column_table_name’的错误。网上的说法是说缺少SQLITE_ENABLE_COLUMN_M…...
第十五章 EM期望极大算法及其推广
文章目录 导读符号说明混合模型伯努利混合模型(三硬币模型)问题描述三硬币模型的EM算法1.初值2.E步3.M步初值影响p,q 含义 EM算法另外视角Q 函数BMM的EM算法目标函数LEM算法导出 高斯混合模型GMM的EM算法1. 明确隐变量, 初值2. E步,确定Q函数3. M步4. 停止条件 如何应用GMM在聚…...
自动化测试如何准备测试数据
其实大部分类型的测试都需要去准备测试数据。 手工测试:一些基础数据,比如配置数据等等是需要去准备的;自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;性能测试…...
javaEE -13(6000字CSS入门级教程 - 2)
一:Chrome 调试工具 – 查看 CSS 属性 首先打开浏览器,接着有两种方式可以打开 Chrome 调试工具 直接按 F12 键鼠标右键页面 > 检查元素 点开检查即可 标签页含义: elements 查看标签结构console 查看控制台source 查看源码断点调试ne…...
vscode 使用python无法导入库
刚刚在使用vscode,编辑python时,在使用语句 import matplotlib.pyplot as plt 时出现报错,但是在命令行下和conda环境中没有报错 在尝试 pip uninstall matplotlib pip install matplotlib后无法解决 之后再发现是工作的目录出错导致的,…...
三维向量旋转
三维向量旋转 问题描述问题分析 v ⃗ ∣ ∣ \vec{v}_{||} v ∣∣的旋转 v ⃗ ⊥ \vec{v}_{\bot} v ⊥的旋转 v ⃗ \vec{v} v 的旋转结论致谢 问题描述 如图1所示,设一个向量 v ⃗ \vec{v} v 绕另一个向量 u ⃗ [ x , y , z ] T \vec{u}[x,y,z]^{T} u [x,y,z]T…...
顺序表——leetcode
原地删除数据 我们的思路这里给的是双指针,给两个指针,从前往后移动,如果不是val就覆盖,如果是我就跳过,大家一定要看到我们的条件是原地修改,所以我们不能另开一个数组来实现我们这道题目。 这里我们给两…...
Kaprekar 7641 - 1467= 6174
package homework;import java.util.Arrays;import util.StringUtil;/*** 数学黑洞数6174,即卡普雷卡尔(Kaprekar)常数, 它的算法如下: 取任意一个4位数(4个数字均为同一个数的除外)࿰…...
李宏毅机器学习笔记.Flow-based Generative Model(补)
文章目录 引子生成问题回顾:GeneratorMath BackgroundJacobian MatrixDeterminant 行列式Change of Variable Theorem简单实例一维实例二维实例 网络G的限制基于Flow的网络构架G的训练Coupling LayerCoupling Layer反函数计算Coupling Layer Jacobian矩阵计算Coupli…...
Java使用Spark入门级非常详细的总结
目录 Java使用Spark入门 环境准备 安装JDK 安装Spark 编写Spark应用程序 创建SparkContext 读取文本文件 计算单词出现次数 运行Spark应用程序 总结 Java使用Spark入门 本文将介绍如何使用Java编写Spark应用程序。Spark是一个快速的、通用的集群计算系统,它可以处理…...
kubernetes集群编排——k8s存储
configmap 字面值创建 kubectl create configmap my-config --from-literalkey1config1 --from-literalkey2config2kubectl get cmkubectl describe cm my-config 通过文件创建 kubectl create configmap my-config-2 --from-file/etc/resolv.confkubectl describe cm my-confi…...
【软件STM32cubeIDE下H73xx配置串口uart1+中断接收/DMA收发+HAL库+简单数据解析-基础样例】
#【软件STM32cubeIDE下H73xx配置串口uart1中断接收/DMA收发HAL库简单数据解析-基础样例】 1、前言2、实验器件3-1、普通收发中断接收实验第一步:代码调试-基本配置(1)基本配置(3)时钟配置(4)保存…...
jdk8和jdk9中接口的新特性
jdk8之前:声明抽象方法,修饰为public abstract。 jdk8:添加声明静态方法,默认方法。 jdk9:添加声明私有方法 jdk8: ①接口中声明的静态方法只能被接口来调用,不能使用其实现类进行调用 静态方法的声明&…...
1-爬虫-requests模块快速使用,携带请求参数,url 编码和解码,携带请求头,发送post请求,携带cookie,响应对象, 高级用法
1 爬虫介绍 2 requests模块快速使用 3 携带请求参数 4 url 编码和解码 4 携带请求头 5 发送post请求 6 携带cookie 7 响应对象 8 高级用法 1 爬虫介绍 # 爬虫是什么?-网页蜘蛛,网络机器人,spider-在互联网中 通过 程序 自动的抓取数据 的过程…...
java商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城
1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

