Java编程
介绍一些常见的Java编程题
R峰
这个作者很懒,什么都没留下…
展开
-
通过Java编写各种*型图案+九九乘法表
class ForLoop_PrintMap{ public static void zhengSanJiao_jiaoXiangYou(){ /* 用循环打印下边的图形 * ** *** **** ***** ******原创 2016-11-10 14:56:19 · 1272 阅读 · 0 评论 -
通过Java实现动态数组<即:ArrayList的实现原理>
一、通过数组模拟编写动态数组List的操作(不用面向对象的思想)运用方法的返回和重创建进行动态数组的实现(Arrays.java) package com.ucai.task6;/** * 数据模拟类,不通过面向对象的思想 * @author facebook * */public class Arrays { /** * 向模拟的动态数组中添加数据,初始化可原创 2017-05-18 17:43:02 · 1093 阅读 · 0 评论 -
通过Java编写兔子不死的情况下每一对兔子每月产一对兔子,问每月的兔子总数(即:斐波拉契数列)
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数为多少?下边的分析是通过Excel表格做出来的,因为不知道它具体生产的情况,所以就一个月一个月的试,最后得到下列的情况/** * 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, * 小兔子长到第三个月后每个月又生一对兔子,假原创 2017-05-18 17:48:28 · 3056 阅读 · 0 评论 -
通过Java实现<水仙花数>
通过面向对象对水仙花的处理—-对象封装用户操作类UserShuiXianHua.javapackage com.ucai.question.shuixianhua;/** * 用户操作类,相当于客户端 * @author facebook * */public class UserShuiXianHua { public static void main(String[] a原创 2017-05-18 16:51:26 · 3446 阅读 · 1 评论 -
通过Java实现1秒内找到100万条订单中被随机删掉的2个订单(1秒 > 创建100万个订单的时间 + 随机删除2个订单的时间 + 从100万个订单号中找到被删除的2个订单的时间)
前言:1,订单号格式:AAAAOrder2020-2,100万个订单3,随机删除100万个订单中的2个4,从100个订单中找到被删除的两个订单步骤一(创建100万个订单数组,hash存储) /** * 集合深度(默认100万) */ private static final String SIZE = "1000000"; /** * 订单前缀 */ private static final String PREFIX = "AAAAOrder2020-";原创 2020-05-08 18:08:21 · 703 阅读 · 0 评论 -
通过Java实现判断一个数是不是快乐数(快乐数就是很快乐啊,其实就是按照一定的算法,最后得到1的数字就是快乐数,是不是很快乐呢)
前言:什么是快乐数例如:7,如果从7开始将二次方之后的数字进行分解,再进行二次方相加,最后得到1,那就是快乐数7^2 = 494^2 + 9^2 = 979^2 + 7^2 = 1301^2 + 3^2 + 0^2 = 101^2 + 0^2 = 1源码:import java.util.HashMap;import java.util.Map;/** * 算法:判斷快樂數 * 例如:7,如果从7开始将二次方之后的数字进行分解,再进行二次方相加,最后得到1,那原创 2020-05-08 18:20:34 · 879 阅读 · 0 评论 -
通过Java实现快速查找某个元素在有序集合中的位置(二分查找法,又名折半查找法)
前言:1、二分查找法又叫折半查找法,从名字来看,能大概明白它的算法逻辑2、二分查找法必须满足被搜索的集合必须是有序的3、待查找的元素是在集合中真实存在的算法:1、二分查找法每次搜索都是按照搜索区域中间位置的元素进行定位,首次搜索时,开始位置为0,结束位置为集合长度-1,中间位置=(开始位置+结束位置)/22、如果中间位置的元素正好与待查找的元素相同,则直接返回结果3、如果中间位置的元素值大于待查找的元素值,则表示待查找元素在集合的左半区域,那么搜索范围将会缩小到原来的一半,右半边的区域将原创 2020-05-27 16:42:41 · 2000 阅读 · 0 评论