2.1k 2 分钟

Excel 默认禁用宏,需手动启用 查看宏 写个简单宏:弹窗 Sub Hello() MsgBox ("Hello,world!")End Sub 将该宏的执行添加到菜单栏 点击刚刚添加的笑脸小图标,会执行刚刚的宏代码,进而弹窗 修改某个 sheet 的名字 Sub RenameWorksheets() Worksheets("Sheet1").Name = "New Name"End Sub 修改所有 sheet 的名字:for 循环的使用,这里 workSheetItem 是变量,可任意 Sub...
2.7k 2 分钟

定义:确保一个类只有一个实例,并提供一个全局访问点。 Head First设计模式第五章 要点: 单件模式确保程序中一个类最多只有一个实例。 单件模式也提供访问这个实例的全局点。 在 java 中实现单件模式需要私有的构造器、一个静态方法和一个静态变量。 确定在性能和资源上的限制,然后小心地选择适当的方案来实现单件,以解决多线程的问题(我们必须认定所有的程序都是多线程的)。 JDK1.4...
3.5k 3 分钟

# 例子 加盟比萨店,在上篇简单工厂的介绍中,假设你已经创建了一个比萨店,有了几种拿手的比萨产品,现在你想要在其他地方,比如上海和深圳新开两家加盟店,但是其中上海的加盟店希望工厂能制造上海风味的比萨,而深圳加盟店希望工厂能提供深圳风味的比萨,而你又想要所有加盟店都能利用你的代码,好让比萨的流程能保持一致不变。 考虑到上面的区域因素,我们这里有一种做法:写出两种不同的工厂 ShanghaiPizzaFactory、ShenzhenPizzaFactory 此时调用工厂的代码如下: public static void main(String[] args) {...
2.3k 2 分钟

# 简单工厂 当看到 “new” 时,就会想到 “具体”,每当我们程序中 new 一个对象时,都会绑着一个具体类,代码绑着具体类会导致代码更脆弱,更缺乏弹性。 // Duck 父类还是要 new 一个具体的绿头鸭实例 Duck duck = new MallardDuck();当有一群相关的具体类时,类似下面代码。 Duck duck; if ( picnic ){ duck = new MallardDuck(); }else if ( hunting ){ duck = new DecoyDuck(); }else...
7.3k 7 分钟

Head First第三章 # 装饰者模式 作用:“给爱用继承的人一个全新的设计眼界”,即解决继承滥用,能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。 解决问题:类数量爆炸(指继承)、设计死板、基类加入新功能并不适用于所有子类。 # 符合设计原则:开放 - 关闭原则 定义:类应该对扩展开放,对修改关闭。即在不修改现有代码的情况下,允许类的扩展。 说明:过度使用开放 - 关闭原则(选择需要被扩展的代码部分时)要小心,每个地方都使用该原则是一种浪费,因为该原则通常会引入新的抽象层次,导致代码变得复杂而难以理解。 #...
299 1 分钟

问题:安装了 toad for oracle12.12 后,当打开软件时显示该错误。 原因:没有安装 64 位 oracle 客户端。 解决办法: (1)下载安装 toad for oracle 12.12 (其他版本也可以) (2)打开后,你会看到上面的错误提示。 (3)下载 instant client 12.2 (4)解压到任意位置,如 C:\app\instantclient_12_2 (5)设置环境变量,“TNS_ADMIN”, (6)同理,设置系统 Path 变量 (7)然后把你之前配置好的 tnsnames.ora 文件移动到...
625 1 分钟

说明:以合同评审表中的合同金额字段为修改对象,原金额类型是以万元为单位的 number (16,6),现需要降低精度到小数点后两位,即修改后以元为单位,为 number (16,2),执行操作如下 表名字: tbl_requisition_contract 列名字: contract_amount /* 修改原字段名 name 为 name_tmp*/alter table tbl_requisition_contract rename column contract_amount to contract_amount_tmp; /* 增加一个和原字段名同名的字段 name*/alter...
364 1 分钟

# 二维数组中的查找 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 # 方法一(笨方法,双重遍历) public class Solution { public boolean Find(int target, int [][] array) { Boolean result = false; for ( int i=0;i<array.length;i++ ){ int[] arr =...
239 1 分钟

# 二维数组中的查找 题目描述:请实现一个函数,将一个字符串中的空格替换成 “%20”。例如,当字符串为 We Are Happy. 则经过替换之后的字符串为 We%20Are%20Happy。 # 方法一(投机取巧的方式) public class Solution { public String replaceSpace(StringBuffer str) { String s = str.toString(); s = s.replace(" ","%20"); return s;...
453 1 分钟

# 问题代码 private static final DateFormat df = new SimpleDateFormat("yyyy年MM月"); public String convertDate( Date date ){ String date = df.format(date); return date;}# 官方解释 Call to static DateFormat As the JavaDoc states, DateFormats are inherently unsafe for multithreaded...