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

Java刷题-基础篇

目录

题目1:打印1~100内奇数和、偶数和

题目2:计算5的阶乘

题目3:计算 1!+2!+3!+4!+5! 的和

题目4:找1~100之间即能被3整除,又能被5整除的数字,要求必须使用break/continue

题目5:实现猜数字小游戏(不需要菜单)

题目6:判断一个整数是否为素数

题目7: 打印1~100之间的所有素数

题目8:输出1000~2000之间所有的闰年

题目9:输出乘法口诀表

题目10:求两个正整数的最大公约数

题目11:求0~99999之间的"水仙花数"并输出

题目12:写一个函数返回参数在内存中二进制形式1的个数


题目1:打印1~100内奇数和、偶数和

思路:先利用循环得到1~100之间的数,判断如果i是奇数,则sumOdd+=i,如果i为偶数则,sumEven+=i,结束循环后在屏幕上打印结果即可。

public static void main(String[] args) {int i = 1;int sumOdd = 0;//奇数int sumEven = 0;//偶数while (i <= 100) {if (i % 2 == 1) {sumOdd += i;} else {sumEven += i;}i++;}System.out.println("奇数和"+sumOdd);System.out.println("偶数和"+sumEven);}

题目2:计算5的阶乘

思路:5!为1*2*3*4*5,将循环变量设为i,进入循环的条件设置为i<=5,在循环里面进行mul*=i的操作(别忘了调整循环变量i的大小),结束循环后在屏幕上打印结果即可。

public static void main(String[] args) {int i = 1;int mul = 1;while (i <= 5) {mul *= i;i++;}System.out.println(mul);}

题目3:计算 1!+2!+3!+4!+5! 的和

思路:求一个数的阶乘好求,如果要求不同数的阶乘,我们也可以直接利用求一个数阶乘的方法,在它的外面加上一层循环,即变量即j表示求几的阶乘,而原本阶乘方法中的循环的条件改为与 j 相关,循环全部结束后在屏幕上打印结果即可。

public static void main(String[] args) {int j = 1;int sum = 0;while (j <= 5) {int i = 1;int mul = 1;while (i <= j) {mul *= i;i++;}sum += mul;j++;}System.out.println(sum);}

题目4:找1~100之间即能被3整除,又能被5整除的数字,要求必须使用break/continue

思路:它们的最小公倍数是15,也就是说只要是15的倍数都能被它两整除,可以先利用循环得到1~100之间的数,然后判断i%15是否==0,不是则i++,使用continue不执行后面打印的功能;是则直接打印,然后i++;

public static void main(String[] args) {int i = 1;while (i <= 100) {if (i % 15 != 0) {i++;continue;}System.out.println(i);i++;}}

题目5:实现猜数字小游戏(不需要菜单)

思路:随机数的生成要用到 Random random = new Random(); 得到的随机数写成 int randNum = random.nextInt(100); 的格式,在()写入n就生成 [0,n-1) 之间的数。为了多次猜测,所以用到了while(true),在while内部进行游戏判断的过程即可,如果猜对了用break跳出循环即可。

public static void main(String[] args) {Scanner scan = new Scanner(System.in);Random random = new Random();int randNum = random.nextInt(100);//[0,100)System.out.println("随机数是"+randNum);while (true) {System.out.print("请输入>");int num = scan.nextInt();if (num < randNum) {System.out.println("猜小了");} else if (num == randNum) {System.out.println("猜对了");break;} else {System.out.println("猜大了");}}}

题目6:判断一个整数是否为素数

思路:首先了解什么是素数"素数是大于1的自然数,且只能被1或它本身整除"

技巧:构成num的两个数一定有一个小于等于num开平方,因此在写除数时不用写成 i < num,直接写成 i <= Math.sqrt(num),如果num被i整除,则break,说明num肯定不是素数。注意,出for循环后会有两种情况,一种是通过break出来的,另一种是循环结束出来的,因此要判断一下是哪一种情况出来的。

public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num = scan.nextInt();int i = 0;for (i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {break;//说明不是素数}}if (i > Math.sqrt(num)) {System.out.println(num+"是素数");} else {System.out.println(num+"不是素数");}}

题目7: 打印1~100之间的所有素数

思路:在上面判断是否为素数的基础上,加一层循环,得到2~100之间的数,将上面代码中的num替换乘i即可。

public static void main(String[] args) {for (int i = 2; i < 101; i++) {int j = 0;for (j = 2; j <= Math.sqrt(i) ; j++) {if (i % j == 0) {break;}}if (j > Math.sqrt(i)) {System.out.println(i+"是素数");}}}

题目8:输出1000~2000之间所有的闰年

思路:判断该年年份是闰年的条件:①能被4整除,但不能被100整除 ②能被400整除

public static void main(String[] args) {for (int i = 1000; i < 2001; i++) {if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {System.out.println(i);}}}

题目9:输出乘法口诀表

public static void main(String[] args) {//外层变化慢for (int i = 1; i < 10; i++) {//内层变化快for (int j = 1; j <= i; j++) {System.out.printf("%d*%d=%2d ", i, j, i*j);}System.out.println();}}

题目10:求两个正整数的最大公约数

思路:辗转相除法

public static void main(String[] args) {Scanner scan = new Scanner(System.in);int a = scan.nextInt();int b = scan.nextInt();int c = a % b;while (c != 0) {a = b;b = c;c = a % b;}System.out.println(b);}

题目11:求0~99999之间的"水仙花数"并输出

思路:水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。先得到100~999999之间的数,判断一下i是几位数(这决定了后面要求每一位的几次方),且由于i不能改变,所以要定义一个临时i去参与计算,每得到i的一位就求它的次方数并放入sum中,最后判断一下在当前循环下sum是否等于i。

public static void main(String[] args) {for (int i = 100; i < 1000000; i++) {//1.计算当前数字i是一个几位数int count = 0;int tmp = i;while (tmp != 0) {count++;tmp /= 12;}tmp = i;//方便后面再次使用int sum = 0;//2.求tmp的每一位while (tmp != 0) {sum += Math.pow(tmp % 10, count);tmp /= 10;}if (sum == i) {System.out.println(i);}}}

题目12:写一个函数返回参数在内存中二进制形式1的个数

public static void main(String[] args) {Scanner scan = new Scanner(System.in);//例如求:-1在内存中的二进制表示形式1的个数// 10000000 00000000 00000000 00000001 -1原码// 11111111 11111111 11111111 11111110 -1反码// 11111111 11111111 11111111 11111111 -1补码// 即有32位// 11111111 11111111 11111111 11111111 -1补码// 00000000 00000000 00000000 00000001 1的补码//通过判断 (-1>>i)& 1 == 1可以实现效果,i < 32int a = scan.nextInt();int count = 0;for (int i = 0; i < 32; i++) {if (((a >> i) & 1) == 1) {count++;}}System.out.println(count);}

  本篇文章已完结,谢谢支持哟 ^^ !!!

相关文章:

Java刷题-基础篇

目录 题目1&#xff1a;打印1~100内奇数和、偶数和 题目2&#xff1a;计算5的阶乘 题目3&#xff1a;计算 1!2!3!4!5! 的和 题目4&#xff1a;找1~100之间即能被3整除&#xff0c;又能被5整除的数字&#xff0c;要求必须使用break/continue 题目5&#xff1a;实现猜数字小…...

Linux——mysql运维篇

回顾基本语句&#xff1a; 数据定义语言 ( DDL ) 。这类语言用于定义和修改数据库的结构&#xff0c;包括创建、删除和修改数据库、表、视图和索引等对象。主要的语句关键字包括 CREATE 、 DROP 、 ALTER 、 RENAME 、 TRUNCATE 等。 create database 数据库 &…...

力扣每日一题-统计已测试设备-2024.5.10

力扣题目&#xff1a;统计已测试设备 题目链接: 2960.统计已测试设备 题目描述 代码思路 根据题目内容&#xff0c;第一感是根据题目模拟整个过程&#xff0c;在每一步中修改所有设备的电量百分比。但稍加思索&#xff0c;发现可以利用已测试设备的数量作为需要减少的设备电…...

代码+视频,R言语处理数据中的缺失值

在SCI论文中&#xff0c;我们不可避免和缺失数据打交道&#xff0c;特别是在回顾性研究&#xff0c;对于缺失的协变量&#xff08;就是混杂因素&#xff09;&#xff0c;我们可以使用插补补齐数据&#xff0c;但是对于结局变量和原因变量的缺失&#xff0c;我们不能这么做。部分…...

PGSync安装使用教程(PostgreSQL数据实时同步至Elasticsearch)

说明 pgsync项目有两个&#xff0c;一个是ankane/pgsync&#xff0c;用于pgsql之间的数据同步&#xff0c;另一个是toluaina/pgsync&#xff0c;用于pgsql的数据同步至es&#xff0c;本教程适用于第二个项目。 pgsync应该是目前为止唯二支持es8的数据同步工具&#xff0c;另一…...

前端主题切换的多种方式

动态link标签加载不同主题css **原理&#xff1a;**提前准备好几套CSS主题样式文件&#xff0c;在点击切换主题时&#xff0c;创建link标签动态加载到head标签中&#xff0c;或者是动态改变link标签的href属性。 缺点&#xff1a; 动态加载样式文件&#xff0c;如果文件过大网…...

使用RESTful API构建 web 应用程序

RESTful API是一种基于HTTP协议的架构风格&#xff0c;用于设计网络应用程序的 API。它强调使用标准的HTTP方法&#xff08;如GET、POST、PUT和DELETE&#xff09;对资源进行操作&#xff0c;并使用统一的资源标识符&#xff08;URI&#xff09;来唯一标识每个资源。RESTful AP…...

KaiOS Data PDN 数据建立流程

代码逻辑 APN创建 在 DataCallManager.jsm中,会对所有apnsetting创建一个datacall,其中会包含dataprofile的成员(通过apn参数来创建),在之后的流程用于直接发送到modem建立PDN。 PDN建立 1、DataCallManager.jsm -dcInterface.setupDataCall //RILNetworkInterface.c…...

Mybatis-Plus常用的增删改查坑

添加依赖 <!--实体类上加上Data注解就不用写get&#xff0c;set&#xff0c;toString&#xff0c;equals等方法了--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional…...

初识指针(4)<C语言>

前言 前面的文章&#xff0c;已经对指针的基础概念以及运用有了初步了解&#xff0c;我们可以进一步探究指针比较深入的知识&#xff0c;下文将主要介绍&#xff1a;使用指针数组模拟二维数组、字符指针变量、数组指针、二维数组传参的本质、函数指针、typedef关键字等。 目录…...

pyqt 工具栏QToolBar控件

pyqt 工具栏QToolBar控件 QToolBar控件介绍效果代码 QToolBar控件介绍 QToolBar 是 PyQt&#xff08;中的一个控件&#xff0c;它提供了一个工具栏&#xff0c;通常包含一系列的工具按钮或下拉菜单&#xff0c;用于提供对应用程序功能的快速访问。 QToolBar 通常与 QMainWind…...

SystemVerilog/Verilog中的仿真延时建模之模块路径延时

一 概要 模块路径延迟,描述的是模块中信号从源端到目的端传输的延迟。 路径以及对应的延迟是在模块中的specify块中指定的,其中信号源端一般为input或者inout,而目的端则只能为output或者inout.在specify中指定的模块路径,常见的形式主要三种,分别是: 简单路径(Simple Path…...

代码随想录算法训练营Day36 | 738.单调递增的数字、968.监控二叉树、贪心算法总结 | Python | 个人记录向

本文目录 738.单调递增的数字做题看文章 968.监控二叉树做题看文章 贪心算法总结以往忽略的知识点小结个人体会 738.单调递增的数字 代码随想录&#xff1a;738.单调递增的数字 Leetcode&#xff1a;738.单调递增的数字 做题 无思路。 看文章 例如&#xff1a;98&#xff…...

FME学习之旅---day26

我们付出一些成本&#xff0c;时间的或者其他&#xff0c;最终总能收获一些什么。 【由于上周&#xff0c;上班状态不是很好&#xff0c;事情多又杂&#xff0c;没有学习的劲头&#xff0c;就短暂的休息了一下下。双休爬山&#xff0c;给自己上了强度&#xff0c;今天才缓过来…...

JAVA学习-练习试用Java实现电话号码的字母组合

问题: 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "23" 输…...

js代码中关于async await的滥用 async await的滥用

概念&#xff1a; 返回值&#xff1a; async返回一个promise---这个返回值是默认自发行为 async function name1(params) {console.log(params) } let result name1(lion) console.log(result) // Promise { undefined } result.then(res > console.log(res)) // undefin…...

基础算法,贪心算法,贪心策略,OJ练习

文章目录 一、概念二、OJ练习2.1 区间选点2.2 区间合并2.3 区间2.4 合并果子2.5 排队接水2.6 货仓选址2.7 防晒2.8 畜栏预定2.9 雷达设备2.10 国王游戏2.11 耍杂技的牛2.12 给树染色2.13 任务2.14 能量石 三、总结 一、概念 贪心是一种在每次决策时采取当前意义下最优策略的算…...

一文讲透亚马逊云三层架构

关于三层架构&#xff0c;我们有很多想说的话&#xff1a; &#xff08;以下内容以下都在VPC中&#xff09; cloudfront做CDN加速网关规划S3做静态网站托管APIGateway作为统一网关入口认证/限流Lambda 作为传统后端&#xff0c;并发&#xff0c;底层架构Redis缓存DDB作为持久化…...

只需3步,使用Stable Diffusion无限生成AI数字人视频(附安装包)

基本方法 搞一张照片&#xff0c;搞一段语音&#xff0c;合成照片和语音&#xff0c;同时让照片中的人物动起来&#xff0c;特别是头、眼睛和嘴。 语音合成 语音合成的方法很多&#xff0c;也比较成熟了&#xff0c;大家可以选择自己方便的&#xff0c;直接录音也可以&#…...

RustGUI学习(iced)之小部件(七):如何使用图像image部件来显示图片?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第七篇,主要讲述图像Image部件的使用,会结合实例…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...