`
mayday85
  • 浏览: 46251 次
  • 性别: Icon_minigender_1
  • 来自: 污点星狗屎国
文章分类
社区版块
存档分类
最新评论

正式发布我的猴子牌记账系统(开源)

阅读更多
(12月26日更新,修正两个bug,对Action进行重构,降低与V层耦合度)
新版本预告:优化选择分类时的用户体验,强化金额显示,优化算法


引用

你也不给我做个记账系统


事情是这样的……
每次逛街回来 都会看见老婆拿出一个小纸条记账 上面的字密密麻麻……
我就无意间说了句 “应该给你做个记账系统”

之后每次见面都能听到……

引用

你也不给我做个记账系统


之前一直在为工作的事情担心 没那个心思
最近工作稳定了 决定自己动手做一个软件送给老婆

我不想讨论这个软件的必要性 也许很多同类软件比我做的好多的
我也不想讨论用Swing来实现好不好 也许Swing是最麻烦的一种实现

我在乎的
是用java开发自己得到的乐趣
是亲手为家人作点东西的喜悦


去青鸟的时候我还是个纯洁少年
从凯达出来我已经被SSHxx的体无完肤
2天的开发开拓了我的思路 无限制的开发应该是我最大的乐趣了

开发中借助了
Visual Swing Designer for Eclipse(很棒的插件,让我学到了很多swing知识)
JFreeChart(图很酷)

忘了说了
需要jre 6.0 or higher


是否在这个版本中开源让我犹豫了一下 因为我几乎还没有重构……
最后还是决定先放上来吧 不过近期代码变动会很大

希望大家能给我提一些重构和功能改进上的意见

附上使用说明:


进入主界面后 点击keep accounts记账
我已经写了一篇记账日记了

点击日期按键后设置每笔钱的明细

有收也有入哦

无效的数字点这个

记账结束后点audit查看列表,只有点月和日的时候会有显示
鼠标悬停还可以看到详细的日志内容

这个界面同上

view是分析图

每天只能写一篇日志,重复写会覆盖(这样是合理的)


  • 大小: 34.4 KB
  • 大小: 7.6 KB
  • 大小: 12.3 KB
  • 大小: 33.8 KB
  • 大小: 35.9 KB
  • 大小: 45.8 KB
  • 大小: 44.3 KB
分享到:
评论
21 楼 mathsfan 2008-12-25  
我怎么看怎么觉得系统做的咋那么难看呢?呵呵。
20 楼 laiseeme 2008-12-25  
恩 不错  上马甲投你
19 楼 mayday85 2008-12-25  
引用

table 不可编辑
双击 弹出具体面板

我认为不能编辑比较好 当天的帐记错了重新写就行了
过去的没有改的意义

引用

NumberView 第一个comboBox 经常失效

可能是bug 我再看看

引用
可能你喜欢鼠标选.........可我怎么觉得我身边的人都不喜欢鼠标选来选去的......

引用

强烈要求多列显示并加入快键选择....(把关键词切入)


帐多的话可能是有点麻烦 加入快键选择吧
18 楼 抛出异常的爱 2008-12-25  
ddandyy 写道
不打标点就用回车或者空格来控制好了.....

不管是按正常的流水账还是语言学来说.......支出和收入都是有固定的字符存在的.....

就算是有火星文.....火星文里也是有固定的字符的......

把字符写到配置文件就完事了 还便于增减......

可能你喜欢鼠标选.........可我怎么觉得我身边的人都不喜欢鼠标选来选去的......

强烈要求多列显示并加入快键选择....(把关键词切入)
17 楼 insiku 2008-12-25  
table 不可编辑
双击 弹出具体面板

NumberView 第一个comboBox 经常失效
16 楼 buaawhl 2008-12-25  

某人说过,Excel是最好的财务软件。
我想,其他的电子表格的功能也是不错的。就是少了一些高级功能。
15 楼 ddandyy 2008-12-25  
不打标点就用回车或者空格来控制好了.....

不管是按正常的流水账还是语言学来说.......支出和收入都是有固定的字符存在的.....

就算是有火星文.....火星文里也是有固定的字符的......

把字符写到配置文件就完事了 还便于增减......

可能你喜欢鼠标选.........可我怎么觉得我身边的人都不喜欢鼠标选来选去的......

每天都让你老婆点.....我敢说你老婆肯定会烦......可能最开始几天会图新鲜的用用.......

软件这东西.....人性化还是很重要的.........

引用
其实只有用$ 或¥
开头的就记入账本就好了.
或用元角分.百元千元,万元作结束

不过以上都不要定死了.



那就再加一个.....定好的字符都没找到的时候也就是异常数字的时候  再弹出选择框好了.......再在选择框里放一个输入框 用来添加新的判断字符.....
14 楼 mayday85 2008-12-25  
king_108 写道

你说的是这段对吧


public static LinkedList<Integer> parseDiary(String text){
	LinkedList<Integer> list = new LinkedList<Integer>();
	String regex = "\\d+";   
	Pattern p = Pattern.compile(regex);   
	Matcher m = p.matcher(text);   
	while(m.find()){   
		String s = m.group();   
		list.addLast(new Integer(s));   
	}   
	return list;		
}


注意到我用的是LinkedList了么?
方便作为列队使用
13 楼 抛出异常的爱 2008-12-25  
ddandyy 写道
要是我的话就会判断数字前面和逗号之间有没有"花"或者"赚"
如果什么都没有就是无效

还要一个数字一个数字选.....太麻烦了......

同样 type也可以用一些关键字来控制的........

供参考.........

其实只有用$ 或¥
开头的就记入账本就好了.
或用元角分.百元千元,万元作结束

不过以上都不要定死了.
12 楼 mayday85 2008-12-25  
ddandyy 写道
要是我的话就会判断数字前面和逗号之间有没有"花"或者"赚"
如果什么都没有就是无效
还要一个数字一个数字选.....太麻烦了......
同样 type也可以用一些关键字来控制的........
供参考.........


不同意你的观点
作为一篇记账日记 而非普通日记
出现非法数字的可能性很低(我可能没吧bill diary的定位说清楚)

其次按你的方案用户就必须遵循某些文法规则
“收入”“消费”“取”“砸”“败家”
还有越来越多的火星文 不可能统计全的
还有我一般不打标点
使用上不爽快
11 楼 king_108 2008-12-25  
你说的是这段对吧

public static LinkedList<Integer> parseDiary(String text){
LinkedList<Integer> list = new LinkedList<Integer>();
String regex = "\\d+";  
Pattern p = Pattern.compile(regex);  
Matcher m = p.matcher(text);  
while(m.find()){  
String s = m.group();  
list.addLast(new Integer(s));  
}  
return list;
}

10 楼 drliujia 2008-12-25  
推荐财智家庭理财软件
9 楼 ddandyy 2008-12-25  
要是我的话就会判断数字前面和逗号之间有没有"花"或者"赚"
如果什么都没有就是无效

还要一个数字一个数字选.....太麻烦了......

同样 type也可以用一些关键字来控制的........

供参考.........
8 楼 mayday85 2008-12-25  
king_108 写道
抛出异常的爱 写道
正则从字串中切出来.之后选择消费种类时决定是正还是负.


我试的效果可不是你说的这样额。。。


异常说的是对的

你怎么试的?难道是bug?
7 楼 king_108 2008-12-25  
抛出异常的爱 写道
正则从字串中切出来.之后选择消费种类时决定是正还是负.


我试的效果可不是你说的这样额。。。
6 楼 mayday85 2008-12-25  
king_108 写道
bill diary  这块,我有个疑问,你输入的日志里面的数字,你是怎么去计算的?


提取diary中number的方法在
TextUtil


5 楼 抛出异常的爱 2008-12-25  
正则从字串中切出来.之后选择消费种类时决定是正还是负.
4 楼 king_108 2008-12-25  
bill diary  这块,我有个疑问,你输入的日志里面的数字,你是怎么去计算的?
3 楼 抛出异常的爱 2008-12-25  
mayday85 写道
buaawhl 写道

不错。就是发错了地方。要是发到技术版,30票就可以精华。


一直在这个区混 就发这里了
要是发技术版合适 召唤robbin帮忙转吧

五十票也不难....等精华了再移过去吧
2 楼 mayday85 2008-12-25  
buaawhl 写道

不错。就是发错了地方。要是发到技术版,30票就可以精华。


一直在这个区混 就发这里了

相关推荐

    猴子选大王源码

    "猴子选大王"的问题描述如下:假设有一群猴子,它们按照一定的顺序报数,每当报到特定数字的猴子就会被淘汰,这个过程会一直持续下去,直到只剩下一只猴子,这只猴子就是“大王”。这个问题看似简单,但其中蕴含的...

    猴子选大王(c++)

    这个问题源自一个寓言故事:一群猴子围成一圈,从第一只开始数数,数到指定数值的猴子被淘汰出局,然后从下一只继续数,直到只剩下一个猴子,这个猴子就被选为大王。程序的主要目的是根据猴子的数量和淘汰的条件找出...

    人工智能 猴子摘香蕉

    在本文中,我们将深入探讨“猴子摘香蕉”这一人工智能(AI)课程作业的主题。这个作业主要涉及使用状态空间法来解决一个经典的智能体问题。首先,我们先理解一下这个题目背后的含义。 “猴子摘香蕉”通常是一个模拟...

    猴子选大王(C++)带报告

    在这个问题中,一群猴子围成一个圈,每一轮从一只猴子开始按顺时针方向数数,数到特定数值的猴子会被淘汰,这个过程会持续到只剩下最后一只猴子,这只猴子就被选为“大王”。此问题在C++编程中可以运用基本的数据...

    C++ 编写的猴子选大王的程序

    根据给定的信息,我们可以分析并总结出以下与“C++ 编写的猴子选大王的程序”相关的知识点: ### C++ 程序设计基础 #### 1. 基本语法结构 - **预处理指令**:如 `#include`、`#define` 等,用于引入头文件或定义...

    猴子选大王 C语言 数据结构课设

    "猴子选大王 C语言 数据结构课设" 本资源是一个使用C语言实现的猴子选大王程序,该程序是数据结构中的经典案例。下面是对该程序的详细解释和知识点总结: 需求分析 该程序可以实现:输入 n 个猴子的编号,然后让...

    猴子摘香蕉实验报告(含代码)

    【猴子摘香蕉问题】是一个经典的逻辑推理和规划问题,常用于人工智能和计算机科学的教学中,尤其是在教授一阶谓词逻辑和状态空间搜索等概念时。在这个实验中,我们使用C++编程语言来模拟猴子如何通过一系列操作达到...

    猴子选王程序

    游戏规则是按照顺时针方向报数,每次报数到指定数字(例如3)的猴子将被淘汰出局,剩下的猴子继续游戏,直到最后只剩下一只猴子,这只猴子就是“猴王”。 #### 二、C语言中的数组与指针运用 ##### 2.1 数组初始化 ...

    新版微信抓娃娃抓猴子系统

    新版微信抓娃娃抓猴子系统 新版微信抓娃娃抓猴子系统 新版微信抓娃娃抓猴子系统 新版微信抓娃娃抓猴子系统

    数据结构课程设计(猴子选大王 飞机订票系统 运动会统计)

    1.一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 2.录入:可以录入...

    猴子选大王算法的实现

    猴子选大王算法,也被称为“猴子国王”或“猴子选举”,是一种在计算机科学和算法设计中常见的问题,尤其在分布式系统和并发编程领域。这个算法通常用来模拟一个群体中的猴子随机选择一个领导者的过程,而这个过程是...

    猴子选大王 数据结构课设

    任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1--m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 要求: 输入...

    猴子选大王问题

    在该问题中,有`n`只猴子围成一圈,从某只猴子开始报数(假设从1开始),每数到`m`时,就有一只猴子被淘汰出局,然后从下一只猴子重新开始报数,直到最后只剩下一只猴子,即为“大王”。 #### 二、C语言实现解析 此...

    C#窗体 猴子选大王

    《C#窗体 猴子选大王》是一款基于C#编程语言开发的Windows窗体应用程序,旨在模拟猴子选大王的经典问题。这个程序通过编程实现了一个有趣的算法,展示了C#在图形用户界面(GUI)开发中的应用,以及如何处理随机事件...

    前端开源库-monkeys

    "前端开源库-monkeys",这个名字中的“monkeys”很可能是指一个用于前端开发的开源工具集,它旨在简化和加速本地开发流程。在前端开发领域,开源库通常包含各种组件、框架或者工具,帮助开发者更高效地构建网页应用...

    数据结构之猴子要选大王

    "数据结构之猴子要选大王" 一、课程设计目的: 本课程设计旨在让学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C程序并用TC上机调试的基本方法。具体来说,学生将学习单循环链表的结构和设计方法,掌握...

    数据结构-猴子选大王

    "数据结构-猴子选大王"是一个典型的计算机科学问题,主要涉及到随机算法和数据结构的应用。在这个问题中,我们模拟了一群猴子选举大王的过程。这个过程通常采用“剪刀石头布”游戏作为选举规则,每一轮淘汰一个输者...

    python 实现猴子分桃

    # 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,...

    monkey_ok.rar_ 猴子选大王 _Monkey_猴子选大王

    《猴子选大王:编程实现与解析》 在IT领域,猴子选大王是一个常见的算法问题,它源于经典的计算机科学理论。这个问题旨在模拟一群猴子通过抛香蕉的方式选择大王的过程,其中包含了一些基本的编程概念,如随机数生成...

Global site tag (gtag.js) - Google Analytics