精美网站模板下载,个人网站怎么做app,网页网站设计与制作,网站建设的认可博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦#xff1b; 个人认为#xff0c;只要自己努力在将来的某一天一定会看到回报#xff0c;在看这篇博客的你#xff0c;不就是在努力吗#xff0c;所以啊#xff0c;不要放弃#xff0c;路上必定坎坷#x… 博主碎碎念: 练习题是需要大家自己打的请在自己尝试后再看答案哦 个人认为只要自己努力在将来的某一天一定会看到回报在看这篇博客的你不就是在努力吗所以啊不要放弃路上必定坎坷但是成功后放眼望去这将是青春很浓重的一笔 今日份励志文案:若结局非你所愿请在尘埃落定前奋力一搏 加油 目录
一.第一题
1.1 解题思路
二.第二题
2.1 解题思路
三.第三题
3.1 解题思路
四.第四题
4.1 解题思路
五.第五题
5.1 解题思路
六. 第六题
6.1 解题思路 注意:博主的答案并不是唯一的每道题都有很多种写法感兴趣的可以自己尝试一下
如果看不懂博主的代码博主个人认为你对逻辑控制学的不是太扎实建议看一下博主上一篇对于逻辑控制的讲解
一.第一题
题目计算1/1-1/21/3-1/41/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的每一位是321
2.1 解题思路
本题主要考虑如何获取一个数字的每一位
“ / ” 除法是保留整数
“ % ” 取余是保留余数
例如:
123 % 10 3
123/1012 12%102
12/101 1%10 1
代码如下
答案
public static void main1(String[] args) {Scanner scannernew 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 numscanner.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项开始都等于前一项前一项的前一项的和。
312
523
13 58
我们可以先定义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 f1f2;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 Nfib(n);System.out.print(斐波那契的第n项是N);}
} 五.第五题
题目在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码求出结果
5.1 解题思路
方法名相同参数列表不同数据类型个数顺序返回值无关
答案
public static int sum(int a,int b) {return ab;}public static double sum(double a,double b,double c) {return abc;}public static void main(String[] args){Scanner scanner new Scanner(System.in);System.out.print(请输入两个整数);int ascanner.nextInt();int bscanner.nextInt();int csum(a,b);System.out.print(请输入三个小数);double dscanner.nextDouble();double escanner.nextDouble();double fscanner.nextDouble();double gsum(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 ascanner.nextInt();int bscanner.nextInt();int cmax(a,b);System.out.print(请输入三个小数);double dscanner.nextDouble();double escanner.nextDouble();double fscanner.nextDouble();double gmax(d,e,f);System.out.println(c);System.out.println(g);
}如果有解释的不对或者不清晰如果可以从评论区指出我一定会加以修改万分感谢 最后麻烦大佬们动一下发财的小手一键三连万分感谢