那些年,我们一起做过的 Java 课后练习题(1 - 5

其实这就是个典型的斐波拉契数列问题:

第 1 个月:1 对兔子

第 2 个月:1 对兔子

第 3 个月:2 对兔子

第 4 个月:3 对兔子

……

即从第 3 个月开始,当前月的兔子对数是当前月前两个月的兔子对数之和。

实现

import java.util.Scanner;

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/1 13:13

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example1

  • @description :

*/

public class Example1 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int month = 0;

System.out.println(“输入月份”);

month = scanner.nextInt();

int former = 1;

int latter = 1;

for (int i = 1; i <= month; i++) {

// 第 1、2 个月的情况

if (i < 3) {

latter = 1;

} else {

int tmp = latter;

latter += former;

former = tmp;

}

System.out.format(“第 %d 个月的兔子对数:%d\n”, i, latter);

}

}

}

结果

实例 2


题目

判断 100 - 200 之间的素数的个数并输出。

分析

判断一个数是否为素数,只要用这个数分别取除 2 ~ sqrt(这个数),一旦被整除,则表明这个数不是素数,否则就是素数。

实现

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/1 13:30

  • @project : Java 编程实例

  • @package : PACKAGE_NAME

  • @className : Example2

  • @description :

*/

public class Example2 {

public static void main(String[] args) {

// 素数个数

int count = 0;

System.out.println(“100 ~ 200 之间的素数:”);

for (int i = 100; i <= 200; i++) {

// 默认非素数

boolean isPrime = false;

for (int j = 2; j <= (int) Math.sqrt(i); j++) {

// 一旦能除尽,则说明不是素数,直接跳出循环

if (i % j == 0) {

isPrime = true;

break;

}

}

// 如果是素数,则素数个数 + 1,然后打印出该素数

if (isPrime == false) {

count++;

System.out.print(i + “\t”);

// 每行打印 5 个素数,

if (count % 5 == 0) {

System.out.println();

}

}

}

System.out.println(“\n素数总个数:” + count);

}

}

结果

实例 3


题目

打印出所有“水仙花数”,所谓水仙花数,是指有一个三位数,其各个数字的立方和等于其本身,例如: 153 = 1 ∗ 1 ∗ 1 + 5 ∗ 5 ∗ 5 + 3 ∗ 3 ∗ 3 153=1*1*1+5*5*5+3*3*3 153=1∗1∗1+5∗5∗5+3∗3∗3,所以 153 是水仙花数。

分析

因为水仙花数是一个三位数,所以它的范围是 100 ~ 999,然后分别求出这个三位数的个位、十位、百位,最后判断他们各自立方的和是否等于该三位数即可。

实现

/**

  • Created with IntelliJ IDEA.

  • @author : cunyu

  • @version : 1.0

  • @email : 747731461@qq.com

  • @公众号 : 村雨遥

  • @website : https://cunyu1943.github.io

  • @date : 2021/6/1 13:53

  • @project : Java 编程实例
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

为什么我不完全主张自学?
平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。

除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。

我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

[外链图片转存中…(img-te2vPIDj-1712520642376)]

[外链图片转存中…(img-G7kuo8QE-1712520642376)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值