基于简单工厂模式的计算器程序
摘要:这个计算器是我学Java时写的第一个Swing程序,后来我读《大话设计模式》的第一章简单工厂模式恰好也是计算器,于是就改进了之前这个。 源代码下载:https://github.com/myCodingTrip/Calculator 运算类Operation.java 程序界面:
阅读全文
Android网络请求之OkHttp框架
摘要:首先声明权限 在build.gradle中加入 API接口:https://www.juhe.cn/docs/api/id/46 Get Post
阅读全文
利用Volley框架实现手机号归属地查询
摘要:接口地址:https://www.juhe.cn/docs/api/id/11 首先必须声明权限: 添加jar包并在application中注册: Get方法获取数据: Post方法获取数据: 解析获取到的JSON数据: 最后不要忘记在程序结束时处理: 实现效果(分别为GET和POST方法获取):
阅读全文
Android网络请求之HttpURLConnection/HttpClient
摘要:首先必须声明权限: API接口:https://www.juhe.cn/docs/api/id/46 1 HttpURLConnection Get Post getURLConnectionResponse 2 HttpClient Get Post getHttpClient sendMessa
阅读全文
HDU4001 最长上升子序列
摘要:题意: 共有n块砖,其长、宽、高分别为a、b、c,类型为d。 当d=0 其长、宽必须不小于其下面的砖。 当d=1 其长、宽必须不小于其下面的砖并且不能都与下面的砖完全相同。 当d=2 其长、宽必须都大于其下面的砖。 题解: 先将所有的砖块以长、宽的比较顺序从小到大进行排序,如果长宽都相同,则将d值大
阅读全文
xml易混淆的几组属性
摘要:主要的区别体现在该控件与父控件、子控件的关系。 1 layout_margin 外边距,指该控件距离父控件的边距。 padding 内边距,指该控件内部内容,如文本距离该控件的边距。 2 gravity 表示组件的子组件在组件中的位置 layout_gravity 表示组件自身在父组件中的位置 若要
阅读全文
HDU2444 二分图
摘要:题意: 有n个学生,他们之间可能互相认识。先判断是否可以分成两组,每组的学生互相都不认识,如果不能输出“No”。如果可以,每次从两组各拿出一个相互认识的学生组成一对,输出最多可以有多少对。 例如: 第一组数据: 4 4 1 2 1 3 1 4 2 3 由于1和其他所有学生都认识,而其它学生又有互相认
阅读全文
HDU2018 斐波那契
摘要:题解: 斐波那契数列的变形,递归求解即可。 设第n年有cow(n)头母牛 根据题意,第一年有1头,第二年有2头,第三年有3头。 当n>3,在cow(n)头母牛中,有cow(n-2)头可以生小母牛,所以下一年的母牛数cow(n+1) = cow(n) + cow(n-2) 所以求第n年母牛数的递推公式
阅读全文
HDU1427 速算24点
摘要:解题思路: 枚举所有可能的情况。 首先对四个数字进行全排列,对于每一种排列,通过dfs模拟出带不同括号的情况,对于每一种情况,再进行加减乘除的运算,看有没有一种情况能算出24的结果。 这里还有2个问题: 1 要对输入进行转换,尤其是A、10、J、Q、K这样的特殊牌。 2 在进行除法运算前要进行判断,
阅读全文
HDU1021 Fibonacci Again
摘要:题意: F(0)= 7, F(1) = 11 F(n) = ( F(n-1) + F(n-2) ) (n>=2). 输入n,若F(n)(mod3)为0则输出yes,否则输出no 题解: 如果直接暴力求解,由于n可以达到1,000,000的规模,必定会超时或栈溢出。因此采用找规律的方法。 n 0 1
阅读全文
HDU 1016 素数环
摘要:题意: 一个环有n个点,将1-n填入这些点中,要求相邻两个点和为素数。输入n,输出所有可能的填法。 题意:利用dfs对n个数进行全排列,有符合题意的排列则输出。
阅读全文
android studio快捷键备忘录
摘要:之前as快捷键用的是eclipse的设置,但这样有一些功能用不了,所以恢复默认了。 修复错误 Alt+Enter api说明 Ctrl+Q 去除多余的import ctrl+alt+o 代码自动对齐 ctrl+shift+f 删除一行 Ctrl+X/Y 现在来我几乎抛弃了eclipse,电脑配置跟上
阅读全文
如何避免app互相覆盖
摘要:今天看书上的一些Demo安装起来居然会互相覆盖。 以前我一直以为app_name不一样就可以了,后来查了一下是包名不能相同。 而在android studio中,并不需要改包名,只要把build.gradle中的applicationId改一下就可以了。
阅读全文