当前位置: 首页 > 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部件的使用,会结合实例…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...