![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
自律给我自由1024
这个作者很懒,什么都没留下…
展开
-
切面条
一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。原创 2014-11-11 12:41:14 · 551 阅读 · 0 评论 -
神奇6位数
有一个6位的正整数,它有个很神奇的性质: 分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。 请计算出这个6位数。 这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)原创 2014-11-12 09:45:37 · 4091 阅读 · 0 评论 -
日期差
历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦。幸好今天我们统一使用公元纪年法。当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的。 下面的程序计算了两个日期的差值,两个日期都使用公元纪年法。 请分析程序逻辑,并推断划线部分缺失的代码。原创 2014-11-12 10:55:10 · 492 阅读 · 0 评论 -
猜年龄
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”解法一:因为原创 2014-11-12 23:16:08 · 804 阅读 · 0 评论 -
14-蓝桥杯决赛-国王的遗产
X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。 其中,大儿子分1/4,二儿子1/5,三儿子1/6,.... 直到小儿子分1/9。 牛是活的,不能把一头牛切开分。 最后还剩下11头牛,分给管家。 请计算国王这批遗产中一共有多少头牛。 这是一个整数,请通过浏览器提交答原创 2014-11-02 12:35:40 · 1802 阅读 · 0 评论 -
卖鸡蛋
大数学家欧拉在集市上遇到了本村的两个农妇,每人跨着个空篮子。她们和欧拉打招呼说两人刚刚卖完了所有的鸡蛋。 欧拉随便问:“卖了多少鸡蛋呢?” 不料一个说:“我们两人自己卖自己的,一共卖了150个鸡蛋,虽然我们卖的鸡蛋有多有少,但刚好得了同样的钱数。你猜猜看!” 欧拉猜不出。 另一个补充道:“如果我按她那样的价格卖,可以得到32元;如果她按我的原创 2014-11-15 15:29:36 · 564 阅读 · 0 评论 -
信用卡校验
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。该校验的过程:1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。3、将奇数位总和加上偶数位总和,结果应该可以被10原创 2014-11-15 16:50:04 · 2689 阅读 · 0 评论 -
高斯日记
大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是原创 2014-11-19 15:43:47 · 463 阅读 · 0 评论 -
干支纪年
在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。 10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸 12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥 如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,.... 总之天干、地址都是循环使用,两两配对。原创 2014-11-20 10:07:33 · 611 阅读 · 0 评论 -
BigInteger和BigDecimal的简单使用
import java.math.BigInteger;public class Rational { public static void main(String [] args){ //将十进制的字符串转换为BigInteger BigInteger big1=new BigInteger("623"); BigInteger big2=new BigInteger("21"原创 2014-11-26 16:13:12 · 645 阅读 · 0 评论 -
身份证
如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以! 因为有人的身份证最后一位是"X" 实际上,除了最后一位的X,不会出现其它字母! 身份证号码18位 = 17位 + 校验码 校验码的计算过程: 例如:身份证前17位 = ABCDEFGHIJKLMNOPQ A~Q 每位数字乘以权值求和(每位数字和它对原创 2014-11-20 10:08:50 · 743 阅读 · 0 评论 -
比酒量
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船...原创 2014-11-22 10:00:17 · 397 阅读 · 0 评论 -
巧排扑克牌
小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的: 他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。 只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是2;......如此循环直到手中只有一张原创 2014-11-20 10:06:11 · 1406 阅读 · 0 评论 -
数字拆分
正整数可以表示为若干正整数的累加和。 如,对于正整数n=6,可以分划为: 65+14+24+1+13+33+2+13+1+1+12+2+22+2+1+12+1+1+1+11+1+1+1+1+1 现在的问题是,对于给定的正整数n,计算出所有划分情况。 下面的代码实现了这个功能。仔细分析,填写划线部分缺失的代码。public c原创 2014-11-27 15:18:37 · 1167 阅读 · 1 评论 -
年龄巧合
小明和他的表弟一起去看电影,有人问他们的年龄。小明说:今年是我们的幸运年啊。我出生年份的四位数字加起来刚好是我的年龄。表弟的也是如此。已知今年是2014年,并且,小明说的年龄指的是周岁。 请推断并填写出小明的出生年份。 这是一个4位整数,请通过浏览器提交答案,不要填写任何多余的内容(比如,他表弟的出生年份,或是他们的年龄等等)原创 2014-11-27 15:17:02 · 862 阅读 · 1 评论 -
基因牛
张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?原创 2014-11-27 15:26:13 · 1155 阅读 · 0 评论 -
大衍数列
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 ... 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。 以下的代码打印出了大衍数列的前 100 项。for(int i=1; i{if(i%2==0)原创 2014-11-24 11:08:08 · 2147 阅读 · 0 评论 -
分糖果
有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。【格式要求】原创 2014-11-24 11:06:20 · 443 阅读 · 0 评论 -
颠倒的价牌
小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。其标价都是4位数字(即千元不等)。小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见p1.jpg)。这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,原创 2014-11-24 20:07:30 · 623 阅读 · 0 评论 -
密码发生器
在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。原创 2014-11-26 17:25:26 · 486 阅读 · 0 评论 -
JAVA正则表达式---学习笔记
import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestArray { public static void main(String[] args){ //设置匹配模式 Pattern pattern=Pattern.compile("abc"); //依据匹配模式展开匹原创 2015-01-11 13:58:24 · 417 阅读 · 0 评论 -
JAVA简易文件扫描器
由于程序中涉及到递归调用,因此效率会很低,打算以后再改进。import java.io.File;import java.io.IOException;import java.util.regex.Matcher;import java.util.regex.Pattern;public class MyTest { public static void main(String原创 2015-01-12 09:38:14 · 590 阅读 · 0 评论 -
画表格
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。比如: ┌─┬─┐│ │ │├─┼─┤│ │ │└─┴─┘ 其实,它是由如下的符号拼接的:左上 = ┌ 169 176上 = ┬ 169 208右上 = ┐ 169 180左 = ├ 169 192中心 = ┼ 169 224右 = ┤ 169 200左下= └ 169原创 2015-01-13 23:16:43 · 582 阅读 · 0 评论 -
Playfair密码
一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下: 1.首先按行填入密钥串。 2.紧接其后,按字母序按行填入不在密钥串中的字母。 3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。 如果密钥为youandme,则该方阵如原创 2014-12-22 21:13:20 · 944 阅读 · 0 评论 -
组素数
素数就是不能再进行等分的数。比如:2 3 5 7 11 等。 9 = 3 * 3 说明它可以3等分,因而不是素数。 我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?原创 2014-12-01 16:44:57 · 541 阅读 · 0 评论 -
李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个原创 2015-04-10 15:39:06 · 480 阅读 · 0 评论 -
圆周率
数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。图1.png中所示,就是一种用连分数的形式表示的圆周率求法。下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。 结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。package com.example.mygraph;public class My原创 2015-04-10 19:56:39 · 1137 阅读 · 0 评论 -
六角填数
如图所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?原创 2015-01-24 20:15:18 · 593 阅读 · 0 评论 -
人民币金额大写
在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序。 本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况)。 比如,用户输入:35201,程序输出:叁万伍仟贰佰零壹 用户输入:30201,程序输出:叁万零贰佰零壹 用户输入:30001,程序输出:叁万零壹 用户输入:31000,程序输出:叁万壹仟原创 2015-01-24 20:55:22 · 790 阅读 · 0 评论 -
隔行变色
表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。请你直接提交这个整数,千万不要填写任何多余的内容。public class Temp { public static void main(String[] args) {原创 2015-06-16 22:36:35 · 1177 阅读 · 0 评论 -
立方尾不变
有些数字的立方的末尾正好是该数字本身。比如:1,4,5,6,9,24,25,....请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。请提交该整数,不要填写任何多余的内容。原创 2015-06-17 09:16:37 · 3866 阅读 · 1 评论 -
打印大X
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。 为了便于比对空格,所有的空白位置都以句点符来代替。 要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0例如,用户输入: 3 9 程序应该输出:***.....*** .***...***. ..***.***.. ...*****... ....***.... .原创 2015-06-18 20:50:55 · 2009 阅读 · 0 评论 -
饮料换购
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。 输入:一个整数n,表示开始购买的饮料数量(0表示实际得到的饮料数 例如: 用户输入: 100 程序应该输出原创 2015-06-21 12:18:08 · 1724 阅读 · 0 评论 -
三羊献瑞
观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。原创 2015-06-17 11:18:13 · 2314 阅读 · 0 评论 -
Android自定义控件---“取消”视图
一、前言好久没更新博客了,最近一直在忙,找实习,整理毕业资料,找房子等等。现在大部分基本忙完了,这几天在公司写的一些自定义控件,打算发出来与大家分享。首先看看最终的效果图这个自定义视图的应用场景,主要用于替代对话框左上角或者右上角的取消按钮。按照我以前的做法,都是设计师发给我一张图片,我自己创建一个ImageView,再把图片设置进去就结束了。如果有天产品经理看得不爽,原创 2016-04-22 15:18:15 · 2020 阅读 · 2 评论 -
App通用时间规则
一直都有留意QQ,微信的时间记录,这些时间记录会随着时间改变而且改变。趁这几天有空,特意研究了它们的时间规则。时间规则大体如下(根据各自公司需求会有所不同) 1分钟内发布的:刚刚 1小时内发布的:X分钟前 超过1小时,仍在当天:xx:xx 跨天,但少于24小时:昨天 xx:xx 跨天,超过24小时:xxxx-xx-xx xx:xx跨天的定义:过了凌晨00:00则为跨天; 跨月的定义:过了原创 2016-12-29 12:30:53 · 1265 阅读 · 0 评论 -
Java==和equals的区别
在Java中==是关系运算符,equals是方法名。1、关系运算符==如果比较的是基本类型public void one(){ int a=3,b=3; System.out.println(a == b);//输出为true } 在执行one方法的时候,a和b的值将存放于Java虚拟机栈中,当a和b进行对比的时候,会直接获取虚拟机栈的值进行比较输出...原创 2018-06-08 13:51:53 · 153 阅读 · 0 评论 -
Java位运算
最近在阅读Java和Android官方源码,发现里面很多代码都涉及到位运算,我看得很懵逼。今天就抽点时间总结Java位运算基本用法。1、准备知识了解计算机二进制基础概念。2、基本类型占用字节 基本类型 基本类型字节 包装类 byte 1 Byte boolean 1或4 Boolean short 2 S...原创 2018-07-03 21:36:27 · 420 阅读 · 0 评论