下面经验仅仅针对 bsh for android 而谈, PC 上 beanshell 无需这样改。

public class TimeTest  改写为闭包: TimeTest() 

闭包末尾添加语句 return this;

public static void main(String[] args) 改写为: run()

最后添加
timetest = TimeTest(); // call 闭包 == new TimeTest()

timetest.run();

比如: TimeTest.bsh

  1. import java.io.*;
  2. import java.net.*;
  3. import java.text.DateFormat;
  4. import java.text.SimpleDateFormat;
  5. import java.util.*;
  6. TimeTest()
  7. {
  8. private static DateFormat fmt = new SimpleDateFormat("yy-MM-dd HH:mm:ss") ;
  9. /** UTC -> local Time
  10. */
  11. public static String getLocalTimeFromUTC(String UTCTime){
  12. java.util.Date UTCDate = null ;
  13. String localTimeStr = null ;
  14. try {
  15. UTCDate = fmt.parse(UTCTime);
  16. fmt.setTimeZone(TimeZone.getTimeZone("GMT+8")) ;
  17. localTimeStr = fmt.format(UTCDate) ;
  18. } catch (ParseException e) {
  19. print(e);
  20. }
  21. return localTimeStr ;
  22. }
  23. run()
  24. {
  25. Calendar cal = new GregorianCalendar();
  26. zone = cal.getTimeZone().getID();
  27. print(zone);
  28. Date date1 = new Date();
  29. time1 = fmt.format(date1);
  30. print("my 20"+time1);
  31. try
  32. {
  33. Socket s = new Socket("time.nist.gov", 13);
  34. try
  35. {
  36. InputStream inStream = s.getInputStream();
  37. Scanner in = new Scanner(inStream);
  38. while (in.hasNextLine())
  39. {
  40. String line = in.nextLine();
  41. // print(line);
  42. if (line.length() >24){
  43. String UTC = line.substring(6,24);
  44. print("UTC "+UTC);
  45. print("CN 20"+getLocalTimeFromUTC(UTC));
  46. }
  47. }
  48. }
  49. finally
  50. {
  51. s.close();
  52. }
  53. }
  54. catch (IOException e)
  55. {
  56. print(e);
  57. }
  58. }
  59. return this;
  60. }
  61. timetest = TimeTest();
  62. timetest.run();

将 java 改写成 beanshell 的经验之谈的更多相关文章

  1. 将JAVA API接口 改写成 Python

    AsinSeedApi 不写注释的程序员-加密 将JAVA API接口 改写成 Python JAVA import com.alibaba.fastjson.JSON; import com.ali ...

  2. js面向过程改写成面向对象--通用方法

    响亮的标题:一个万能的,保底的.面向过程改写成面向对象的方法 前提朗读:很多刚接触js面向对象的时候都不知道如何能快速的写出一个面向对象的程序,这个是必然的现象,不是每一位学js的一上来就会写面向对象 ...

  3. 如何把java代码转换成smali代码

    1.概述 Smali是Android系统中Dalvik虚拟机指令语言,在apk逆向过程中有许多工具可以把smali代码转化成java代码.但是在学习Smali语法的过程中,有时候需要进行java代码和 ...

  4. java打包成jar文件

    JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是 ...

  5. Java工程师成神之路思维导图

    前面看Hollis的微信公众号更新了Java工程师成神之路的文档,感觉里面的内容清晰.齐全,可以用来审视自己,也能够知道自己在那些方面可以继续前行,想着有时间把它画下来,画下来之后分享出来. 主要内容 ...

  6. Java 趣史-差点把 Java 命名成了 Silk(丝绸)

    差点把 Java 命名成了 Silk(丝绸) Java 命名的由来 Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆). ...

  7. 转:Java工程师成神之路~(2018修订版)

    转: http://www.hollischuang.com/archives/489 阿里大牛珍藏架构资料,点击链接免费获取 针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所 ...

  8. [Android Security] 如何把java代码转换成smali代码

    copy :https://www.cnblogs.com/gordon0918/p/5466514.html 1.概述 Smali是Android系统中Dalvik虚拟机指令语言,在apk逆向过程中 ...

  9. LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)

    翻译 反转一个单链表. 原文 Reverse a singly linked list. 分析 我在草纸上以1,2,3,4为例.将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致 ...

随机推荐

  1. Error - SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM

    I find using the following works quite well for SQL min/max dates after many DB related errors: Date ...

  2. [React] 02 - Intro: why react and its design pattern

    为啥使用React,给我个理由 过去 需要手动更新DOM.费力地记录每一个状态:既不具备扩展性,又很难加入新的功能,就算可以,也是有着冒着很大的风险. 不过,使用这种开发方式很难打造出极佳的用户体验. ...

  3. C#获取路径总结

    一.获取当前文件的路径 1.  System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName  获取模块的完整路径,包括文件名. ...

  4. OpenGL——二维几何变换

    平移.旋转.缩放的实现 #include<iostream> #include <math.h> #include<Windows.h> #include < ...

  5. ganglia分布式监控部署

    一.介绍        Ganglia是由UC Berkeley发起的一个开源监控项目,设计用于监控数以千几的节点.每台服务器都运行一个收集和发送监控数据名为gmond的守护进程.它将从操作系统和指定 ...

  6. linux相关(3)

    1. shell环境变量 能够存在于本shell进程及其子shell进程的变量.变量可以从父shell进程传递给子shell进程,而不能反过来,因此环境变量在子shell进程中无论如何修改都不会影响到 ...

  7. 【本周主题】第三期 - JavaScript 内存机制

  8. rabbitmq 强制删除集群相关信息,恢复原始状态

    一.前言 同事搭的rabbitmq集群,其中一台一直报下面这种异常:  Error: {inconsistent_cluster,"Node rabbit@mq1 thinks it's c ...

  9. WCF中序列化(XML\JSON\Dt)

    序列化 是将对象转换为容易传输的格式的过程.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象. 序列化描述了持久化 ...

  10. day_6.16网络编程

    单线程服务器select版: select ---->最多1024个 poll ----->解决了套接字上限的问题----->轮询检测 关于 sys模块: 通过fd找套接字 协程: ...