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.rhkb.cn/news/191895.html

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

相关文章

vscode使用flake8设置单行最长字符限制设置失败的问题

vscode使用flake8设置单行最长字符限制设置失败的问题 问题描述解决方案 问题描述 如图所示&#xff0c;使用flake8单行字数过长&#xff0c;就会有有红色底的波浪线 一般情况下很多教程都会让你在setting.json里面设置 但是我打开我的setting.json&#xff0c;发现我已经进…

基于SSM的供电所档案管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6)

Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图&#xff0c;Kotlin&#xff08;6&#xff09; Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图&#xff0c;Kotlin&#xff08;5&#xff09;-CSDN博客文章浏览阅读1.3k次。&#xfeff;&#xfeff;Android Dyna…

服务器中了locked勒索病毒怎么处理,locked勒索病毒解密,数据恢复

近几年&#xff0c;网络应用技术得到了迅速发展&#xff0c;越来越多的企业开始走向数字化办公&#xff0c;极大地为企业的生产运营提供了帮助&#xff0c;但是网络技术的发展也为网络安全埋下隐患。最近&#xff0c;locked勒索病毒非常嚣张&#xff0c;几乎是每隔两个月就会对…

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

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

在IDEA中使用maven项目总结

一 什么是maven Maven本身也是Java写的&#xff0c;他是一款服务于Java平台的自动化构建工具 Maven是一个项目管理工具&#xff0c;旨在简化软件项目的构建、依赖管理和项目信息管理。它使用基于项目对象模型&#xff08;Project Object Model&#xff0c;POM&#xff09;的…

excel表的筛选后自动求和

一般都使用subtotal函数。 通过看一个大佬的视频&#xff0c;发现可以有更简单的方法。 首先任意筛选数据(ctrlshiftl)&#xff0c; 然后选中需要求和的列的最下方的空白单元格&#xff0c;再按alt。 回车即可。 实质它还是用的subtotal函数

拍摄视频的时候相机断电导致视频文件损坏,怎么修复

3-4 现在好多人都有自己的相机&#xff0c;但是专业用来录像的机器应该是不太可能都有的&#xff0c;相机的稳定性会比专业的机器差一些&#xff0c;如果用于比较重要的场景&#xff0c;比如婚庆、会议录像、家庭录像使用等&#xff0c;有较少的概率会出现一些奇怪的情况&…

Windows conan环境搭建

Windows conan环境搭建 1 安装conan1.1 安装依赖软件1.1.1 python安装1.1.2 git bash安装1.1.3 安装Visual Studio Community 20191.1.3.1 选择安装的组件1.1.3.2 选择要支持的工具以及对应的SDK 1.1.4 vscode安装 1.3 验证conan功能1.4 查看conancenter是否包含poco包1.5 查看…

Delphi TCP服务端监听端口获取客户端RFID网络读卡器上传的刷卡数据

本示例使用设备介绍&#xff1a;液显WIFI无线网络HTTP协议RFID云读卡器可编程实时可控开关TTS语-淘宝网 (taobao.com) unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, ScktComp, StdCtrls, ScktComp…

图像相似度对比方法

1.哈希方法&#xff0c;其中包括均值哈希、插值哈希、感知哈希方法。计算出图片的哈希值&#xff0c;一般使用汉明 距离计算两个图片间的差距。 2.直方图算法&#xff0c;其中包括灰度直方图算法&#xff0c;RGB直方图算法&#xff0c; 3.灰度图算法&#xff1a;MSE、SSIM、…

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

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

笔试题之指针和数组的精讲

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

数据分类分级方法及典型应用场景

1 2021-09-29 来源&#xff1a;数据学堂 [打印本稿][字号 大 中小] 《数据安全法》的第二十一条明确规定了由国家建立数据分类分级保护制度&#xff0c;根据数据在经济社会发展中的重要程度&#xff0c;以及一旦遭到篡改、破坏、泄露或者非法获取、非法利用&#xff0c;对国…

Unity中【UniTask异步流程】如何进行【步骤分段】、【步骤撤销】、【步骤跳转】、【取消异步任务】

一、UniTask和Task UniTask是Unity中的Task实现&#xff0c;Task是C#中实现异步操作的一个模块(类)。UniTask与Task有着同样的使用思路&#xff08;使用习惯&#xff0c;常用API等&#xff09;&#xff0c;可以说UniTask是借鉴Task而开发出来的。 二、需求的来源 以前有一个…

Nacos 身份认证绕过漏洞(已修复)

Nacos存在权限绕过漏洞&#xff0c;攻击者利用该漏洞可以未授权访问用户列表&#xff08;我的Nacos版本为1.2.1&#xff09; 漏洞复现&#xff1a;http://127.0.0.1:8849/nacos/v1/auth/users?pageNo1&pageSize9 利用漏洞复现问题http://127.0.0.1:8849/nacos/v1/auth/us…

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

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

JAVA基础9:Debug

1.Debug概述 Debug:是供程序员使用的程序调试工具&#xff0c;它可以用于查看程序的执行流程&#xff0c;也可以用于追踪程序执行过程来调试程序。 2.Debug操作流程 Debug调试&#xff0c;又被称为断点调试&#xff0c;断点其实是一个标记&#xff0c;告诉我们从哪里开始查看…

【电源专题】低功耗设备如何解决POE协议要求的PD最小功耗?

要让PD正常工作起来除了需要与PSE握手协商外,还要求PD有一个最小功耗输出。 其原因是如果PD没有在一定时间内给出一个最小功耗,那么PSE将会认为PD设备断开而自动关闭,将功率分配给其他网口。对于不同的类别PD,其要求也不一样。如下所示为Type 1/2/2/4最小电流的要求:如类…

Android—幸运抽奖火箭发射倒计时(第六次作业)

Android—幸运抽奖&&点火发射&#xff08;第六次作业&#xff09; 创建项目 准备工作 修改按钮的颜色&#xff0c;如果不修改这行代码&#xff0c;那么后期给按钮添加background属性的时候&#xff0c;按钮并不会发生变化。 设置按钮的样式文件btn_press_blue.xml&am…