代码编织梦想

学以致用——java验证身份证号码是否正确(带校验算法)-爱代码爱编程

需求: 验证身份证号码是否正确(带校验算法) 源码: package javaCoreTech1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.SimpleDateForm

学以致用——java applet小程序求两个整数的最大公约数-爱代码爱编程

今天基于2008年(15年前)自己所写的求最大公约数applet小程序进行了以下主要优化: 1. 添加异常处理功能,让程序更为健壮 2. 并使用辗转相除法求最大公约数,大幅提高程序性能 3. 使用Long型数据类型替换int型,大幅扩大数据输入范围 参考文档: 1. (164条消息) 最大公约数计算(Find the Great

调试经验——控制台中需要用户重复输入时,bufferedreader类相比scanner类更为好用-爱代码爱编程

今天在完成一项Java编程作业时,遇到了一个诡异的死循环问题,花了我两三个小时还没搞定。加班一小时,回家吃完晚饭后继续在百度中检索,获得了BufferedReader这一线索。于是,坐在自己的电脑前继续来个POC(proof of concept,概念验证)。功夫不负有心人,明天应该可以解决那个问题了。 结论: 控制台中需要用户重复输入时,Buff

java流计算中并行计算性能测试数据-爱代码爱编程

在学习Java流计算的过程中,发现并行流计算(parallel)的执行速度大概是非并行计算的3倍以上,测试代码及测试结果如下。 代码: package c08_06; import java.util.stream.LongStream; public class ParallelStream { public static void

调试经验——java double计算“误差“-爱代码爱编程

今天学习Java流计算时发现1.1*1.1不等于1.21,疑似出现误差,原因尚待明确,在此标记一下。 源码: package c08_03; import java.util.stream.Stream; public class StreamOther { public static void main(String[] args)

学以致用——命令行中使用java模块化技术编译、打包、运行ikb知识库应用-爱代码爱编程

需求说明 Eclipse环境下,由于未知原因,运行的iKb知识库应用界面不稳定(有时全屏,有时会缩小很多,导致界面可读性很差),如下图所示: 这个问题随着本人所使用的的JDK版本和Eclipse版本的变化而时隐时现,让人丈二和尚摸不着头脑。在学习Java核心技术(高阶)的过程中,正好学到了相关知识,现决

自动生成java类-爱代码爱编程

昨天在学习中国大学Mooc《Java核心技术》(高阶)的Java的注解——注解的解析一节时,遇到一个比较有趣的示例程序。想自己改一改,没想到七八个小时就这么没了。 Java的学习之路竟然是如此漫长!个中辛酸只有经历过一次次的代码调试的自己知道。 收获如下: 命令行中编译程序: C:\01.iworkspace\eclipseWorkspace_

经典的生产者消费者模型java实现结果分析-爱代码爱编程

经典的生产者消费者模型: 生产者不断的往仓库中存放产品,消费者从仓库中消费产品。 其中生产者和消费者都可以有若干个。 仓库规则:容量有限,库满时不能存放,库空时不能取产品 。 本实现中,有2个生产者P1和P2,3个消费者C1, C2和C3,仓库容量10。 运行结果分析: Seq.Activity DescriptionPro

Java源码——复利的计算(compound interest)-爱代码爱编程

代码功能: 给出本金,计算在不同的年复合利率下不同经过年数(期数)对应的本息和。   代码: package v1ch03.CompoundInterest; /** * This program shows how to store tabular data in a 2D array. * @version 1.40 2004-02-10

Java源码——使用BigInteger计算组合数(彩票中奖概率计算示例)-爱代码爱编程

1. 问题描述 双色球中,红色球选号规则:红色球可以在1-33个编号中任意选择6个。 问题:红色球全部选中的概率为多少? 2. 代码: package v1ch03.BigIntegerTest; import java.math.*; import java.util.*; /** * This program uses big numbe

Java核心技术学习笔记——入门——第九章 Java 异常和异常处理——9.1 Java 异常分类-爱代码爱编程

1. 异常概述   2. 异常分类 示例: 以下代码中包含了除零错误,但是编译器未报错,运行时,将发生运行时错误。 package miscellaneous; public class ZeroDivisionTest { public static void main(String[] args){ Sy

拓展延伸: 实现一个百亿级别的计算器-爱代码爱编程

编程题目: 拓展延伸:实现一个百亿级别的计算器。 示例代码: package program.calculation.exercise70; /** * 拓展延伸:实现一个百亿级别的计算器。 */ public class MyBigCalculator { public static void main(String[] args) {

70.实现一个简单的百亿级别的计算器-爱代码爱编程

编程题目: 70.有两个数,一个数是123789965783241232323512323676678, 另一个数是23245235435436807768829454365465889,用算法实现这两个正数的加减以及相乘。 示例代码: package program.calculation.exercise70; /** * 70.有两个数,一

69.Java实现一个搜索二叉树-爱代码爱编程

编程题目: 69.Java实现一个搜索二叉树。 示例代码: package program.calculation.exercise69; /** * 二叉树(BinaryTree): * 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。 * 通常子树被称作左子树(left subtree)和右子树(right subtree)。二叉

68.企业发放奖金利润问题-爱代码爱编程

编程题目: 68.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.

67.货币组合问题-爱代码爱编程

编程题目: 67.货币组合问题:计算对于1元钱,共有多少种组合方法(假设组合时可以使用的货币包括1元,5角,2角,1角,5分,2分,1分。比如,如果M为1分,则共有1种组合方法,即1分;如果M为2分,则共有2种组合方法,即2个1或1个2分),只要求返回组合方法的个数,不要求输出具体组合方式。 示例代码: package program.calcula

66.关灯问题-爱代码爱编程

编程题目: 66.大厅里有100盏灯,每盏灯都编了编号,分别为1-100,每盏灯由一个开关控制。开关按一下灯亮,再按一下灯灭,开关的编号与灯编号一致。开始时灯是全灭的,现在按照以下规则按动开关:第一次,将所有的灯点亮;第二次,将所有2的倍数的开关按一下;第三次,将所有3的倍数的开关按一下;以此类推,第N次,将所有的N的倍数的开关按一下。问第N次(N大于等

65.猴子分桃问题-爱代码爱编程

编程题目: 65.猴子分桃问题:海滩上有一堆桃子,五只猴子来分。第一只 猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 示例代码: package program.c

64.猴子吃桃问题-爱代码爱编程

编程题目: 64.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半, 还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半, 又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,看见只剩下一个桃子了。求第一天共摘了多少。 示例代码: package program.calculation.exercise64;

63.求球体自由落体运动反弹总路程与反弹高度-爱代码爱编程

编程题目: 63.一球从100米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 示例代码: package program.calculation.exercise63; /** * 63.一球从100米高度自由落下,每次落地后反跳回原高度的一半再落下, * 求它在第10次落地时,共经过