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;}
}

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

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

 

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

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

相关文章

RT-DETR算法优化改进:Backbone改进 | VanillaNet一种新视觉Backbone,极简且强大!华为诺亚2023

💡💡💡本文独家改进: VanillaNet助力RT-DETR ,替换backbone,简到极致、浅到极致!深度为6的网络即可取得76.36%@ImageNet的精度,深度为13的VanillaNet甚至取得了83.1%的惊人性能。 推荐指数:五星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/cat…

11-13 /11-14代理模式 AOP

调用者 代理对象 目标对象 代理对象除了可以完成核心任务&#xff0c;还可以增强其他任务,无感的增强 代理模式目的: 不改变目标对象的目标方法的前提,去增强目标方法 分为:静态代理,动态代理 静态代理 有对象->前提需要有一个类&#xff0c;那么我们可以事先写好一个类&a…

【Python基础篇】字面量

博主&#xff1a;&#x1f44d;不许代码码上红 欢迎&#xff1a;&#x1f40b;点赞、收藏、关注、评论。 格言&#xff1a; 大鹏一日同风起&#xff0c;扶摇直上九万里。 文章目录 一 Python中字面量的定义二 常见的字面量类型1 数字(Number)2 字符串(String)3 列表(List)4 元…

微信小程序:仅前端实现对象数组的模糊查询

效果 核心代码 //对数组进行过滤&#xff0c;返回数组中每一想满足name值包括变量query的 let result array.filter(item > { return item.name.includes(query); }); 完整代码 wxml <input type"text" placeholder"请输入名称" placeholder-styl…

前端工具nvm实现node自由

node的自由之路 前言 大家使用vue框架开发的朋友可能会遇到首次运行公司项目环境的时候&#xff0c;会出现使用npm install命令安装依赖包的时候出现各种各样的问题&#xff0c;其中很重要的一个错误原因就是因为你的nodejs版本和当时搭建环境的版本不一致造成的。今天就来给…

R语言——taxize(第一部分)

ropensci 系列之 taxize &#xff08;中译手册&#xff09; taxize 包1. taxize支持的网络数据源简介目前支持的API&#xff1a;针对Catalogue of Life&#xff08;COL&#xff09; 2. 浅尝 taxize 的一些使用例子2.1. **从NCBI上获取唯一的分类标识符**2.2. **获取分类信息**2…

网络安全基础之php开发文件上传的实现

前言 php是网络安全学习里必不可少的一环&#xff0c;简单理解php的开发环节能更好的帮助我们去学习php以及其他语言的web漏洞原理 正文 在正常的开发中&#xff0c;文件的功能是必不可少&#xff0c;比如我们在论坛的头像想更改时就涉及到文件的上传等等文件功能。但也会出…

基于SpringBoot+Vue的宿舍管理系统

基于SpringBootVue的学生宿舍管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 宿舍公告 登录界面 管理员界面 维修人员 商家界面 学生界面 摘要 摘…

Azure 机器学习:在 Azure 机器学习中使用 Azure OpenAI 模型

目录 一、环境准备二、Azure 机器学习中的 OpenAI 模型是什么&#xff1f;三、在机器学习中访问 Azure OpenAI 模型连接到 Azure OpenAI部署 Azure OpenAI 模型 四、使用自己的训练数据微调 Azure OpenAI 模型使用工作室微调微调设置训练数据自定义微调参数部署微调的模型 使用…

Python---集合中的交集 、并集 | 与差集 - 特性

用 & 来求两个集合的交集&#xff1a;-----键盘上的7上的符号&#xff0c;shift 7 同时按 用 | 来求两个集合的并集&#xff1a; -----键盘上的7上的符号&#xff0c;shift 同时按&#xff08;就是enter键上面那个|\ &#xff09; 用 - 来求两个集合的差集&#xff…

抖斗音_快块手直播间获客助手+采集脚本+引流软件功能介绍

软件功能&#xff1a; 支持同时采集多个直播间&#xff0c;弹幕&#xff0c;关*注&#xff0c;礼*物&#xff0c;进直播间&#xff0c;部分用户手*号,粉*丝团采集 不支持采集匿*名直播间 设备需求&#xff1a; 电脑&#xff08;win10系统&#xff09; 文章分享者&#xff1…

Kerberos认证系统

文章目录 前提知识原理第一次对话第二次对话第三次对话 总结发现 前提知识 KDC&#xff1a;由AS、TGS&#xff0c;还有一个Kerberos Database组成。 Kerberos Database用来存储用户的密码或者其他所有信息&#xff0c;请求的时候需要到数据库中查找。 AS&#xff1a;为客户端提…

Python爬虫抓取微博数据及热度预测

首先我们需要安装 requests 和 BeautifulSoup 库&#xff0c;可以使用以下命令进行安装&#xff1a; pip install requests pip install beautifulsoup4然后&#xff0c;我们需要导入 requests 和 BeautifulSoup 库&#xff1a; import requests from bs4 import BeautifulSou…

No203.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

小H靶场学习笔记:DC-2

DC-2 Created: November 10, 2023 3:01 PM Tags: WordPress, git提权, rbash逃逸 Owner: 只会摸鱼 靶场过程 信息收集 扫描存活主机&#xff0c;找到靶机ip&#xff1a;192.168.199.131&#xff08;本机是192.168.199.129&#xff09; 扫描端口开放协议 发现有80端口和77…

2023nacos源码解读第3集——nacos-client核心功能之微服务调用和配置管理测试

文章目录 1、测试项目2、项目注意事项3、 测试核心功能3.1 测试服务调用与负载均衡3.2 测试配置监听 4、参考文档 1、测试项目 项目地址 nacos-service-a nacos-service-b 2、项目注意事项 项目初始化可以使用aliyun spring initializer ,以更方便的使用springcloud alibaba…

hive里因为列名用了关键字导致建表失败

代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …

雷达测角原理、测角精度、测角分辨率以及3DFFT角度估计算法汇总

1.角度测量方法 依据&#xff1a;电磁波的直线传播和雷达天线的方向性。 分类&#xff1a;振幅法测角、相位法测角 1.1 相位法测角 相位法测角利用多个天线所接收回波信号之间的相位差进行测角。如下图所示&#xff1b; 图 1 设在θ方向有一远区目标&#xff0c;则到达接收点…

一个破单机,也要用远程缓存?

大家好&#xff0c;豆小匠终于开始Coding了&#xff0c;这期来聊聊实战相关的杂谈。 正文开始&#xff01; 作为编程萌新的时候&#xff0c;总想着把程序做复杂&#xff0c;堆技术栈。 但是程序是为场景服务的&#xff0c;比如&#xff0c;我想提高接口的响应速度&#xff0c…

Linux应用层点亮硬件的LED灯

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