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

Java 入门基础题

目录

1.输出一个整数的每一位

2.判定素数 

3.求最大值方法的重载 

4.输出闰年 

5.打印 X 图形 

6.数字9 出现的次数

7.计算分数的值 

8. 模拟登陆

9.使用函数求最大值 

 10.斐波那契数列


星光不负赶路人,加油铁子们!!! 

 

 

1.输出一个整数的每一位

题目:

输出一个整数的每一位,如:123的每一位是3,2,1

思路:

本题主要考虑,如何获取一个数字的每一位:

123 % 10 = 3

123/10=12    12%10=2

12/10=1        1%10= 1

代码如下:

public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num = scan.nextInt();while(num != 0){int n = num % 10;num /= 10;System.out.print(n + " ");}}
}

 

2.判定素数 

题目:

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

  • 第1种方法,如果一个数字是素数,那么就只能整除1和自己本身。
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i < n;i++) {if(n%i == 0) {System.out.println("n不是素数:"+n);break;}}if(i >= n) {System.out.println(n + "是素数");}
}
  • 第2种方式,任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于n/2的。
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i <= n/2;i++) {if(n%i == 0) {//System.out.println("n不是素数:"+n);break;}}if(i > n/2) {System.out.println(n + "是素数");}
}
  • 第3种方式:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于根号n的。
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i <= Math.sqrt(n);i++) {if(n%i == 0) {//System.out.println("n不是素数:"+n);break;}}if(i > Math.sqrt(n)) {System.out.println(n + "是素数");}
}

 

( 注:图片来自网络,如有侵权,请联系删除 )  

 

3.求最大值方法的重载 

题目:

在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?  

思路:

做这道题,我们首先要明白重载如何实现!!

重载:1.方法名相同2. 参数列表不同(数据类型,个数,顺序)3. 返回值无关
本题可以借助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 class Main {public static void main(String[] args) {int a = 10;int b = 20;int ret1 = max(a , b);System.out.println(ret1);double c = 2.23;double d = 1.32;double e = 5.52;double ret2 = max(c , d , e);System.out.println(ret2);}public static int max(int x, int y){return x >= y ? x : y;}public static double max(double x, double y, double z){return x >= y ? x >= z ? x : z : y >= z ? y : z;}
}

 

4.输出闰年 

题目:

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

思路:

首先要搞明白什么是闰年?简单的说,就是能够被  4整除且能被100整除  的年份;或者是能够被  400整除  的年份,即为闰年!

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

 

5.打印 X 图形 

题目:X形图案_牛客题霸_牛客网 

思路:

假设i代表行,j代表列,当i==j 或者 i+j+1 == n,此时为星号。其余的都是空格。 

 

import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNextInt()) {int n = scan.nextInt();for(int i = 0;i < n;i++) {for(int j = 0;j < n;j++) {if(i == j) {System.out.print("*");}else if( i+j+1 == n) {System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}}
}

 

( 注:图片来自网络,如有侵权,请联系删除 ) 

 

6.数字9 出现的次数

 题目: 

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

思路:

本题主要考察,个位的9怎么判断,十位的9怎么判断?另外99是两个9. 

public static void main(String[] args) {int count = 0;for (int i = 1; i <= 100; i++) {if(i % 10 == 9) {//判断个位的9 count++;}if(i/10 == 9) {count++;//判断十位的9}}System.out.println(count);
}

 

7.计算分数的值 

题目:

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

思路: 

1 从上述表达式可以分析出

  该表达式主要由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);
}

 

8. 模拟登陆

题目:

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

思路:

本题注意考察,字符串怎么比较相同?使用方法equals

public static void main11(String[] args) {Scanner scanner = new Scanner(System.in);int count = 3;while (count != 0) {System.out.println("请输入你的密码:");String password = scanner.nextLine();//if(password == "123") { 这个判断相等是错误的,具体原因后续String章节进行讲解if(password.equals("123")) {System.out.println("登录成功!");break;}else {count--;System.out.println("你还有"+count+" 次机会!");}}
}

 

 ( 注:图片来自网络,如有侵权,请联系删除 ) 

 

9.使用函数求最大值 

题目:

创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3

​ 要求:

在max3这个函数中,调用max2函数,来实现3个数的最大值计算

思路:

本题比较简单,重点在如何求出两个数的最大值 

public static int max2(int a,int b) {return a > b ? a:b;
}public static int max3(int a,int b,int c) {int max = max2(a,b);return max > c ? max : c;
}
public static void main(String[] args) {System.out.println(max3(2, 5, 1));
}

 

 10.斐波那契数列

题目:

求斐波那契数列的第n项。(迭代实现) 

思路:

斐波那契数列定义为:1 1 2 3 5 8 13 21 我们可以看到,从第3项开始,都等于前一项+前一项的前一项的和。3 = 1+2 、5 = 2+3 、13 = 5+8 。

我们可以先定义n1保存第一项的值,n2保存第2项的值,n3保存第3项的值

每次算一个n3,就同步更新n1和n2的值

/*** 求菲薄那切数列的第n项* @param n* @return*/import java.util.Scanner;//求斐波那契数列的第n项。(迭代实现)
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(fib(n));}public static int fib(int n){if(n == 1 || n == 2){return 1;}int n1 = 1;  // 1 1 2 3 5 8int n2 = 1;int n3 = 0;for(int i = 3;i <= n; i++){n3 = n1 + n2;n1 = n2;n2 = n3;}return n3;}
}

( 注:图片来自网络,如有侵权,请联系删除 )  

希望对大家有所帮助,感谢观看

 

相关文章:

Java 入门基础题

目录 1.输出一个整数的每一位 2.判定素数 3.求最大值方法的重载 4.输出闰年 5.打印 X 图形 6.数字9 出现的次数 7.计算分数的值 8. 模拟登陆 9.使用函数求最大值 10.斐波那契数列 星光不负赶路人&#xff0c;加油铁子们&#xff01;&#xff01;&#xff01; 1…...

块设备的工作模式

块设备的mknod 还是会创建在 /dev 路径下面&#xff0c;这一点和字符设备一样。/dev 路径下面是 devtmpfs 文件系统。这是块设备遇到的第一个文件系统。我们会为这个块设备文件&#xff0c;分配一个特殊的 inode&#xff0c;这一点和字符设备也是一样的。只不过字符设备走 S_IS…...

Spring核心

Spring Framework Spring的两个核心IOC控制反转IOC容器依赖注入DIIOC容器实现注解管理BeanBean对象定义Bean对象获取 AOP面向切面编程 添加依赖入门案例注解通过Spring创建Java bean对象 xml管理Bean案例main下创建bean.XMl文件 DI依赖注入案例创建Spring配置文件 bean-di.xml …...

ffmpeg命令行处理视频,学习记录

ffmpeg命令行处理视频 截取视频前5s ffmpeg -ss 00:00:00 -t 00:00:05 -i .\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 .\public\uploads\20231109\116a292eccf8315f65d7166e794d1731.mp4两视频合并为1个 ffmpeg -i F:\xuejiao\code\cms.openlai.com\p…...

Linux应用层点亮硬件的LED灯

一 应用层操作硬件的两种方法 应用层想要对底层硬件进行操控&#xff0c;通常可以通过两种方式&#xff1a; /dev/目录下的设备文件&#xff08;设备节点&#xff09;&#xff1b;/sys/目录下设备的属性文件。 具体使用哪种方式需要根据不同功能类型设备进行选择&#xff0c;通…...

密钥安全存储方案探讨与实践

随着信息技术的迅猛发展和应用范围的不断扩大&#xff0c;我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中&#xff0c;密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案&#xff0c;并提出一些解决方案。 一、密钥安全存…...

[pytorch]设备选择以及卷积神经网络的应用

0.写在前面: 首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多. 1.关于设备的选择 首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况…...

API SIX系列-服务搭建(一)

APIsix简介 APISIX是一个微服务API网关&#xff0c;具有高性能、可扩展性等优点。它基于nginx&#xff08;openresty&#xff09;、Lua、etcd实现功能&#xff0c;借鉴了Kong的思路。和传统的API网关相比&#xff0c;APISIX具有较高的性能和较低的资源消耗&#xff0c;并且具有…...

hadoop 大数据环境配置 同步时间 centos服务器时间同步 linux 安装ntp服务更新时间 hadoop(六)

1. 安装ntp软件 yum install -y ntp 2.创建软连接 # 删除之前得时间 sudo rm -rf /etc/localtime;# 更新时区sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3. 更新时间 # root 权限运行 sudo ntpdate -u ntp.aliyun.com 4. 开机自启&#xff0c;更新时间 …...

基于单片机智能输液器监控系统的设计

**单片机设计介绍&#xff0c; 基于单片机智能输液器监控系统的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制&#xff0c;以下是一个基本的设计介绍&am…...

Unity解决:没有UnityWebRequest.Result

当我在Unity 2019中使用Unity 2021的代码satable时。 控制台显示 “UnityWebRequest”不包含“result”的定义,并且找不到接受“UnityWebRequest”类型的第一个参数的可访问扩展方法“result”(是否缺少using指令或程序集引用?) 漏洞/问题: if (req.result == UnityWebRe…...

记录Linux的Bug

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 例如&#xff1a;项目场景&#xff1a;示例:通过蓝牙芯片(HC-05)与手机 APP 通信&#xff0c;每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1…...

优化改进YOLOv5算法之感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等

目录 1 RFAConv原理 1.1 回顾标准卷积 1.2 回顾空间注意力 1.4 创新空间注意力与标准卷积...

【设计原则篇】聊聊里氏替换原则

是什么 子类对象可以替换程序中父类对象出现的任何地方&#xff0c;并且保证原有程序逻辑的正确性不被破坏。 比如我们在实际开发中定义了数据读取的父类&#xff0c;子类可以进行在此功能的拓展、增强但是不能修改原有的内在含义。 里氏替换原则和多态的区别&#xff0c;多态…...

k8s系列-kuboard创建工作负载 docker上传java微服务jar包到仓库的过程

文章目录 docker环境准备docker 镜像相关命令docker 容器相关命令容器和主机之间信息传递 内网中将jar包上传到docker仓库中 docker环境准备 1.查看环境中是否存在docker环境 docker version 2.不存在的话需要创建docker 镜像&#xff08;image&#xff09;&#xff1a; dock…...

基于单片机的塑料厂房气体检测系统设计

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计实物 四、结论五、 文章目录 概要 本文首先分析了基于单片机的可燃…...

HTTP-FLV详解及分析

文章目录 前言一、HTTP-FLV 简介1、市场上使用 http-flv 的商家2、http-flv、rtmp 和 hls 直播的优缺点3、http-flv 技术实现 二、Nginx 配置 http-flv1、Windows 安装 nginx&#xff0c;已经集成 nginx-http-flv-module2、nginx.conf 配置文件3、运行 nginx 服务器4、ffmpeg 推…...

docker应用实例及dockerfile

实际应用 神经网络项目由x86cpu的linux环境移到arm cpu架构上运行&#xff0c;使用docker进行测试以及环境配置。 docker load -i 镜像压缩文件.tar docker load -i命令用于从一个压缩的镜像存档文件&#xff08;通常是以.tar扩展名结尾&#xff09;中加载镜像到本地Docker引擎…...

【Qt之QWizard】使用1

QWizard使用 描述方法枚举&#xff1a;enum QWizard::WizardButton枚举&#xff1a;enum QWizard::WizardOption枚举&#xff1a;enum QWizard::WizardStyle枚举&#xff1a;enum QWizard::WizardPixmap常用成员方法槽函数信号 示例设置标题添加page页设置按钮文本设置自定义按…...

移植LVGL到单片机的一个demo简单介绍

简介 背景&#xff1a; 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s&#xff0c;它是128*160的像素&#xff0c;色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6&#xff0c;不管怎么修改配…...

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

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

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...