【JavaSE-5】程序逻辑控制相关练习题

news2025/3/6 6:06:20

1、判断一个数字是否是素数(质数)

//方法1:
import java.util.Scanner;
public static void main(String[] args) {
	//判断一个数字是否是素数:除了1和它本身外没有其他数可以整除
	Scanner scan  = new Scanner(System.in);
	int num = scan.nextInt();

	boolean flag = true;//默认表示输入的是质数

	//求开根号的方式 Math.sqrt()
	int i = 0;
	for (i = 2; i <= Math.sqrt(num); i++) {
		if(num % 2 == 0) {
			flag = false;
			break;
		}
	}
	
	if(flag && num > 1){//1不是质数也不是合数
		System.out.println(num + "是素数");
	}else{
		System.out.println(num + "不是素数");
	}
}

//方法2:
public static void main(String[] args) {
	//输入一个数据
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入一个整数:");
	int number = scanner.nextInt();

	boolean flag = true;//默认表示该整数是质数
	//判断
	for(int i = 2;i < number;i++){
		if(number % i == 0){
			//说明不是质数
			flag = false;
			break;//不用执行后续代码,直接跳出循环
		}
	}
	//需要单独判断1
	if(flag && number > 1){
		System.out.println(number + "是一个质数");
	}else{
		System.out.println(number + "不是一个质数");
	}
}

2、输出乘法口诀表

public static void main(String[] args) {
	//输出乘法口诀表
	int i = 0;
	for(i = 1;i <= 9;i++){
		int j = 0;
		for(j = 1;j <= i;j++){
			System.out.print(j + "*" + i + "=" + i*j+" ");
		}
		System.out.println();
	}
}

3、求两个正整数的最大公约数

public static void main(String[] args) {
	//求两个正整数的最大公约数:辗转相除法
	Scanner scan = new Scanner(System.in);
	int num1 = scan.nextInt();//18
	int num2 = scan.nextInt();//24
	int num3 = num1 % num2;//18
	while(num3 != 0){
		num1 = num2;//24 18
		num2 = num3;//18 6
		num3 = num1 % num2;//6 0
	}
	System.out.println(num2);
}

4、水仙花数

public static void main(String[] args) {
	//求水仙花数
	Scanner scan = new Scanner(System.in);
	System.out.println("请输入一个数字:");
	int num = scan.nextInt();//153
	int count = 0;//统计输入数的位数
	int tmp = num;
	//统计输入数字的总位数
	while(tmp != 0){
		tmp /= 10;
		count++;
	}
	tmp = num;
	int sum = 0;
	while(tmp != 0){
		sum += Math.pow(tmp % 10,count);//pow(x,y)是x的y次方
		tmp /= 10;
	}
	if(sum == num){
		System.out.println(num + "是水仙花数");
	}else{
		System.out.println(num + "不是水仙花数");
	}
}

5、求 3~6 位的水仙花数

public static void main(String[] args) {
	//求水仙花数
	int num = 0;
	for(num = 100;num <= 999999;num++){
		int count = 0;//统计输入数的位数
		int tmp = num;
		//统计输入数字的总位数
		while(tmp != 0){
			tmp /= 10;
			count++;
		}
		tmp = num;
		int sum = 0;
		while(tmp != 0){
			sum += Math.pow(tmp % 10,count);//pow(x,y)是x的y次方
			tmp /= 10;
		}
		if(sum == num){
			System.out.print(num + " ");
		}
	}

}
//运行结果:
//153 370 371 407 1634 8208 9474 54748 92727 93084 548834 

6、写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1

public static void main(String[] args) {
	//返回参数二进制中1的个数
	int num = 15;
	int count = 0;//统计个数
	for (int i = 0; i < 32; i++) {
		if(((num >> i) & 1) == 1){
			count++;
		}
	}
	System.out.println(count);
}

但是上述代码需要根据输入的数据类型在更改,因为不同数据类型的大小不同,所以移动的位数也不用,下面方法可以适用所有情况

public static void main(String[] args) {
	int num = 15;
	int count = 0;
	while(num != 0){
		count++;
		num = num & (num-1);
	}
	System.out.println(count);
}

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

使用的是字符串String中的equals函数

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner((System.in));
		int count = 3;
		while(count != 0){
			System.out.println("请输入密码,你还有"+count+"次机会");
			String password = scan.nextLine();
			if(password.equals("123456")){
				System.out.println("登录成功");
				break;
			}else{
				count--;
				System.out.println("登录失败");
			}
		}
	}
}

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

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		//获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt();
		//输入的是一个int类型的数值
		//偶数位:
		for (int i = 31; i >= 1; i-=2) {
			System.out.print(((num >> i) & 1) + " ");
		}
		System.out.println();
		//奇数位:
		for (int i = 30; i >=0 ; i-=2) {
			System.out.print(((num >> i) & 1) + " ");
		}
	}
}

9、平方根

需求:键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。结果只保留整数部分 ,小数部分将被舍去

//分析:
//平方根   16的平方根4
//         4的平方根2


// 10
// 1 * 1 = 1 < 10
// 2 * 2 = 4 < 10
// 3 * 3 = 9 < 10
// 4 * 4 = 16 > 10
//推断:10的平方根是在3~4之间。


// 20
// 1 * 1 = 1 < 20
// 2 * 2 = 4 < 20
// 3 * 3 = 9 < 20
// 4 * 4 = 16 < 20
// 5 * 5 = 25 > 20
//推断:20的平方根是在4~5之间。


//在代码当中
//从1开始循环,拿着数字的平方跟原来的数字进行比较
//如果小于的,那么继续往后判断
//如果相等,那么当前数字就是平方根
//如果大于的,那么前一个数字就是平方跟的整数部分


//1.键盘录入一个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = sc.nextInt();
//2.从1开始循环判断
//开始:1 结束: number
for (int i = 1; i <= number; i++) {
    //用i * i 再跟number进行比较
    if(i * i == number){
        System.out.println(i + "就是" + number + "的平方根");
        //一旦找到了,循环就可以停止了,后面的数字就不需要再找了,提高代码的运行效率。
        break;
    }else if(i * i > number){
        System.out.println((i - 1) + "就是" + number + "平方根的整数部分");
        break;
    }
}

在java中求平方根的方式:Math.sqrt(double a);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2310388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CES Asia 2025增设未来办公教育板块,科技变革再掀高潮

作为亚洲消费电子领域一年一度的行业盛会&#xff0c;CES Asia 2025&#xff08;第七届亚洲消费电子技术贸易展&#xff09;即将盛大启幕。今年展会规模再度升级&#xff0c;预计将吸引超过500家全球展商参展&#xff0c;专业观众人数有望突破10万。除了聚焦人工智能、物联网、…

汽车零部件厂如何选择最适合的安灯系统解决方案

在现代制造业中&#xff0c;安灯系统作为一种重要的生产管理工具&#xff0c;能够有效提升生产线的异常处理效率&#xff0c;确保生产过程的顺畅进行。对于汽车零部件厂来说&#xff0c;选择一套适合自身生产需求的安灯系统解决方案尤为重要。 一、安灯系统的核心功能 安灯系统…

Pytorch中的主要函数

目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda&#xff1b;torch.bac…

景联文科技:以专业标注赋能AI未来,驱动智能时代的精准跃迁

在人工智能技术重塑全球产业格局的今天&#xff0c;高质量训练数据已成为驱动算法进化的核心燃料。作为数据智能服务领域的领军者&#xff0c;景联文科技深耕数据标注行业多年&#xff0c;以全栈式数据解决方案为核心&#xff0c;构建起覆盖数据采集、清洗、标注、质检及算法调…

车载测试:智能座舱测试中多屏联动与语音交互的挑战

智能座舱作为汽车智能化发展的核心&#xff0c;集成了多屏联动和语音交互功能&#xff0c;为驾驶员和乘客提供更便捷的体验。然而&#xff0c;这些功能的测试面临诸多挑战&#xff0c;包括多屏同步性、噪声干扰和复杂场景的处理。本文将详细分析这些挑战&#xff0c;探讨测试方…

深入探索WebGL:解锁网页3D图形的无限可能

深入探索WebGL&#xff1a;解锁网页3D图形的无限可能 引言 。WebGL&#xff0c;作为这一变革中的重要技术&#xff0c;正以其强大的功能和广泛的应用前景&#xff0c;吸引着越来越多的开发者和设计师的关注。本文将深入剖析WebGL的核心原理、关键技术、实践应用&#xff0c;并…

仿mudou库one thread oneloop式并发服务器

项目gitee&#xff1a;仿muduo: 仿muduo 一&#xff1a;项目目的 1.1项目简介 通过咱们实现的⾼并发服务器组件&#xff0c;可以简洁快速的完成⼀个⾼性能的服务器搭建。 并且&#xff0c;通过组件内提供的不同应⽤层协议⽀持&#xff0c;也可以快速完成⼀个⾼性能应⽤服务器…

CentOS 7 aarch64上制作kernel rpm二进制包 —— 筑梦之路

环境说明 centos 7 aarch64 gcc 8.3.1 kernel 5.4.290 准备编译制作 # 安装必要的工具和包yum install rpm-devel rpmdevtools yum groupinstall "Development Tools"yum install ncurses-devel bc elfutils-libelf-devel openssl-devel # 安装gcc 8.3.1# 修改…

vscode 都有哪些大模型编程插件

VSCode 中有许多基于大模型的编程插件&#xff0c;这些插件通过集成人工智能技术&#xff0c;显著提升了开发者的编程效率和体验。以下是一些主要的大模型编程插件及其功能&#xff1a; GitHub Copilot GitHub Copilot 是由 OpenAI 开发的插件&#xff0c;能够根据代码上下文自…

DAIR-V2X-R数据集服务器下载

【官方github链接】https://github.com/ylwhxht/V2X-R 点击并登录 选择并点击下载 浏览器弹窗&#xff0c;右键选择复制下载链接 ------------------------------------服务器下载----------------------------------------- 登录服务器&#xff0c;选在要下载的文件夹复制路…

EasyRTC嵌入式视频通话SDK的跨平台适配,构建web浏览器、Linux、ARM、安卓等终端的低延迟音视频通信

1、技术背景 WebRTC是一项开源项目&#xff0c;旨在通过简单的API为浏览器和移动应用程序提供实时通信&#xff08;RTC&#xff09;功能。它允许在无需安装插件或软件的情况下&#xff0c;实现点对点的音频、视频和数据传输。 WebRTC由三个核心组件构成&#xff1a; GetUserM…

DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元

背景 在全球人工智能技术高速迭代的背景下&#xff0c;算力成本高企、异构资源适配复杂、模型部署效率低下等问题&#xff0c;始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点&#xff0c;而博云先进算力管理平台AIOS的全面适配&#xff0c;则为这一技术…

DeepSeek能画流程图吗?分享一种我正在使用的DeepSeek画流程图教程

‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​​‌​​‌​‍‌​‌‌‌‌​​‍‌​‌​‌‌​​‍‌​​​‌‌‌‌‍‌​‌‌​‌‌‌‍‌‌​​‌​‌​‍‌​​‌‌​‌‌‍‌​​​‌​‌​‍‌​‌‌‌​‌‌‍‌‌​​‌‌‌‌‍‌​‌‌‌​​​‍‌…

网络安全试题填空题

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 2018年期末题 1. 分布式防火墙系统组成不包括&#xff08;D&#xff09; A.网络防火墙 B.主机防火墙 C.中心管理防火墙 D.传统防火墙 2.下列不是入侵者主要行为模…

个推助力小米米家全场景智能生活体验再升级

当AI如同水电煤一般融入日常&#xff0c;万物互联的图景正从想象照进现实。作为智能家居领域的领跑者&#xff0c;小米米家凭借开放的生态战略&#xff0c;已连接了超8.6亿台设备&#xff0c;构建起全球领先的消费级AIoT平台。如今&#xff0c;小米米家携手个推&#xff0c;通过…

linux服务器根据内核架构下载各种软件依赖插件(例子:Anolis服务器ARM64架构内核Nginx依赖插件下载)

Anolis服务器ARM64架构内核Nginx依赖插件下载 Nginxy依赖包&#xff1a;阿里云镜像站搜索自己的系统如下点击系统&#xff0c;进入详情页面点击下载地址点击对应版本号选择Os继续点击OS点击Packagesctrf搜索资源&#xff0c;依次下载资源&#xff0c;版本建议选最新把下载好的资…

GaussianCity:实时生成城市级数字孪生基底的技术突破

在空间智能领域,如何高效、大规模地生成高质量的3D城市模型一直是一个重大挑战。传统方法如NeRF和3D高斯溅射技术(3D-GS)在效率和规模上存在显著瓶颈。GaussianCity通过创新性的技术方案,成功突破了这些限制,为城市级数字孪生的构建提供了全新路径。 一、核心创新:突破传…

华为配置篇-OSPF基础实验

OSPF 一、简述二、常用命令总结三、实验3.1 OSPF单区域 一、简述 OSPF&#xff08;开放式最短路径优先协议&#xff09; 基本定义 全称&#xff1a;Open Shortest Path First 类型&#xff1a;链路状态路由协议&#xff08;IGP&#xff09;&#xff0c;用于自治系统&#xff…

获取哔站评论

一、文章立论 哔哩哔哩&#xff08;B站&#xff09;是当前年轻人十分喜爱的视频分享平台&#xff0c;以其丰富多样的内容、互动性强的社区氛围以及独特的弹幕文化深受用户喜爱。在该平台上&#xff0c;用户不仅可以观看各种类型的视频&#xff0c;如动画、游戏、科技、生活、影…

《当AI生成内容遭遇审核:需求与困境的深度剖析》:此文为AI自动生成

AI 内容审核&#xff1a;数字时代的守门人 在当今数字技术迅猛发展的浪潮中&#xff0c;AI 在内容生成领域取得了令人瞩目的成就&#xff0c;成为了推动创新与变革的核心力量。以 AI 绘画为例&#xff0c;从早期简单粗糙的图像生成&#xff0c;到如今能够创作出细节丰富、风格多…