【Java逻辑控制】——分支结构丶循环结构经典必刷题


【Java逻辑控制】——分支结构丶循环结构经典必刷题

在这里插入图片描述

#目录

1.编写程序数一下 1到 100 的所有整数中出现多少个数字9

这道题做题的关键在于 如何找到 判断条件
1.找到个位是9的数:比如 19,29,让这个数 去%10 他们的余数都是 9
2.知道十位是9的数:比如 91, 93,让这个数去/10 他们的结果都等于 9
在这里插入图片描述

2.输出 1000 - 2000 之间所有的闰年

这道题做题的关键:我们首先要知道闰年分为 普通闰年 和 世纪闰年
1.普通闰年:能被 4 整除 并且是 100 的 倍数
2.世纪闰年:能被 100 整除 并且 能够 被 400整除
在这里插入图片描述

3.打印 1 - 100 之间所有的素数

这道题做题的关键;我们需要明白什么是 素数。
素数:能够被 1 和 他 自身 整除的 数
注意:1 不是 素数
在这里插入图片描述

4.给定一个数字,判定一个数字是否是素数

这道题和第三道题思路一样,这里我们直接上代码
在这里插入图片描述
这里还有第二种方法
在这里插入图片描述

5.根据输入的年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)

在这里插入图片描述

6.打印 X 图形

这道题是牛客上面的一道题这里我给大家上一下牛客链接:
https://www.nowcoder.com/practice/83d6afe3018e44539c51265165806ee4
这道题的做题思路是什么呢,在这里我给大家画个图方便大家理解
图有点潦草哈,各位老铁,我相信你们能够看懂的,抱歉

这里输入的 n 为 5,对应 4 个 下标,从左边开始看,第一个 x 所对应的判断条件是
'if(i ==j) 从右边开 x 所对应的判断条件是 if(i+j == n-1)
在这里插入图片描述
在这里插入图片描述

7.完成猜数字游戏 ,用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等于的时候退出程序。

知道题直接给大家上代码了,大家可以复制去跑一跑,也是比较有趣
在这里插入图片描述

8.求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1+5+3?,则153是一个“水仙花数“。)

这道题,我给大家一个简单且粗暴的方法且看代码

在这里插入图片描述

9.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。

在这里插入图片描述

10.求两个正整数的最大公约数

这里 注意! 最大公约数 和 最小公倍数给大家上个图
在这里插入图片描述
在这里插入图片描述

11.求一个整数,在内存当中存储时,二进制1的个数

这里使用 按位与 方法
这里给大家复习一个 位运算符
按位与 & : 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
按位或 | : 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
按位异或 ^ : 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

在这里插入图片描述

12.获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(“奇数位:”);
for (int i = 31; i>=1 ; i-=2) {
System.out.println(n>>i&1);
}
System.out.println(“偶数位:”);
for (int i = 30; i >=2 ; i-=2) {
System.out.println(n>>i&1);
}
}

在这里插入图片描述

13.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序

在这里插入图片描述
public static void main(String[] args) {
String passWord = “1234”;
Scanner scanner = new Scanner(System.in);
System.out.println(“请输入密码”);
int relyTime = 3;//有3次机会
for (int i = 0; i < 3; i–) {
String input = scanner.nextLine();
if(input.equals(passWord)){
System.out.println(“输入正确!”);
break;
}
else {
relyTime–;
System.out.println(“输入错误,请重新输入,还有” + relyTime + “次机会”);
}
}
if(relyTime == 0) {
System.out.println(“输入次数用完,退出程序”);
}
}

15.输出一个整数的每一位,如:123的每一位是1 , 2 , 3,采用递归方法!

知道题无非就是 哪一个数来 /10 %10
如果一个数小于了10 直接%10 否者/10
在这里插入图片描述
public static void main(String[] args) {//输出一个整数的每一位,如:123的每一位是1 , 2 , 3
//用递归的方法无非就是/10 % 10
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
print(n);
}
public static void print(int n) {//构造个递归方法
if(n < 10) {
System.out.println(n % 10 + " ");
}else {
print(n /10);
System.out.println(n % 10 + " ");
}
}

16.输入乘法口诀表

在这里插入图片描述
在这里插入图片描述
public static void main(String[] args) {//输出乘法口诀表
for (int i = 1; i <= 9 ; i++) {
for (int j = 1; j <=i ; j++) {
if(j<=i) {
System.out.println(i + "" + j + “=” + ij + " ");
}
}
}
}

17.有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。

在这里插入图片描述

18.求斐波那契数列的第n项。(迭代实现)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷敲代码的青花瓷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值