sinat_38191420
可爱的小棋
2017-07-29 10:18
采纳率: 80%
浏览 839
已采纳

这个问题有点尴尬啊。有大神吗?

写一个小代码,实现这样的一个效果
第一次运行:欢迎使用本软件,第1次使用免费
第二次运行:……第2次使用免费
第三次运行:……第3次使用免费
第四次运行:本软件只能免费三次,想要继续使用,请充值
然而这题难就难在,每次运行后虚拟机都停止了,再次运行都是从1开始,无法实现累加。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • Runner__1
    T_world 2017-07-30 14:24
    已采纳

    这个问题的关键点在于如何记录下来使用次数这个值,因为每次程序结束之后内存里的数据都清空了,所以把这个次数存到外存即可,可以通过文件读写,把数据存到本地的一个txt文件里,每次启动读取文件读取这个值,每次程序结束运行之前把这个值更新一下,或者使用数据库也是一样的思路

    点赞 评论
  • feelinghappy
    饭小粒 2017-07-30 02:26

    弄注册表吧 新建一个键值 然后运行一次 读一次记录 加+1 保存 如果到了4次 提示 就ok了

    虽然java读取注册表之后限制了java跨平台的特性,但是在实际的应用中还是会用到的。java读取windows的注册表,我根据网上前人的提示,总结了三种方法

    1.使用java API【java.util.prefs.Preferences】

    优点:java API中的类,使用简单方便

    缺点:操作范围有限。

              64位系统下只能在
    
                     [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Prefs]
    
                     [HKEY_CURRENT_USER\Software\JavaSoft\Prefs]中操作。
    

    详解地址

    2.某一高人写的使用的invoke方法【如高人看到该文章,请联系我】

    由于这几天为了排错,参考了大量的资料,所以实在忘记了该大侠是谁,如您看到文章,请把您下载源码的链接发送发私信给我,核实之后一定标注并感谢。

    优点:相对与API来说,操作的范围相对较大。可在[HKEY_CURRENT_USER]和[HKEY_LOCAL_MACHINE]中读写NE]中读写。相对于第三种方法来说,简单方便。
    
    缺点:不知是我不会用还是怎么了,有时会有一些节点的数据读不出来,特别是自定义的节点,像安装软件生成的节点。
    
    详解地址
    

    3.使用com.ice.jni.registry.

    这个类对于研究过java读取注册表的程序猿来说就非常熟悉了。它是采用了JNI技术,读取的注册表。

    优点:这个包的优点就是灵活了,可以随意的读取注册表中的数据,在我使用的过程中,未出现读不出的情况。

    缺点:因为太灵活了,注册表又是非常非常的终于,所以要是一不小心写错了操作的路径,那我只能希望你曾备份过注册表。

    基本提示到这里 其他的你自己去搞API 自己baidu吧
    
    点赞 评论
  • DACO2017
    qijian_zhang 2017-09-20 10:07

    用一个变量存储运行的次数,在退出前想办法存到文件里就行,当然不加密的话

    点赞 评论

相关推荐