小编Jay*_*son的帖子

什么是Java类中使用的变量阴影?

我正在阅读我的Deitel,Java How to Program一书,并且遇到了阴影这个词.如果允许阴影,Java类中的情况或用途是什么?

例:

public class Foo {

    int x = 5;

    public void useField() {
        System.out.println(this.x);
    }
    public void useLocal() {
        int x = 10;
        System.out.println(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

java shadowing

23
推荐指数
4
解决办法
3万
查看次数

如何缩进'if'语句的长条件?

我的问题与前一个问题有关,但所提供的解决方案并未解决我在下面概述的问题.谷歌搜索后,我没有找到任何代码样式指南,解决像这样的if语句中的长条件的具体问题.

if( isNull(value1) ||
    isToLong(value1) ||
    hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

要么:

if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

我对这两种风格的问题是它让我的眼睛难以在真正的块中找到代码并将其与条件分开,或者在长条件后很难确定正确的下一行一行,特别是if语句已经缩进函数或其他if语句中的几个选项卡.

做这样的事情会更好吗?

if(     isNull(value1) ||
        isToLong(value1) ||
        hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

或者这种风格会更好地以下列方式之一缩进每个新条件:

if( isNull(value1) ||
        isToLong(value1) ||
            hasBadFormat(valule1)){
    doSomething();
}else{
    doSomethingElse();
}

if( isNull(value1) 
        || isToLong(value1) 
            || hasBadFormat(valule1) ){
    doSomething();
}else{
    doSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)

有没有人有一个编码风格指南(可能是公司编码风格政策),以不同于我提出的方式解决这个问题?哪一个更好,你能找到我提到的解决方案的任何缺点或优点吗?

conditional if-statement coding-style

16
推荐指数
4
解决办法
1万
查看次数

存储逻辑规则的适当数据结构和数据库模式是什么?

前言:我没有规则引擎,构建规则,建模规则,实现规则的数据结构等等方面的经验.因此,我不知道我在做什么,或者我在下面尝试的是什么.

我正在试图弄清楚如何存储和处理以下假设情景.为了简化我的问题,假设我有一种用户购买对象的游戏类型,其中可能有1000个可能的对象,并且必须按指定的顺序购买对象,并且只能在特定的组中购买.例如,假设我是用户并且我想购买对象F.在我购买对象F之前,我必须先前购买了对象A OR(B和C).我不能同时购买F和A,也不能购买F和B. 它们必须符合规则指定的顺序.先是,然后是F.或者,首先是B,C,然后是F. 我现在并不关心购买之间的时间跨度,或用户的任何其他特征,只是它们是现在的正确顺序.

为潜在的数千个对象存储此信息的最佳方法是什么,这些对象允许我读取所购买对象的规则,然后根据用户以前的购买历史记录进行检查?

我试过这个,但我一直试图实现A OR(B和C)这样的分组.我想将规则存储在我拥有这些表的数据库中:

 Objects
    (ID(int),Description(char)) 

ObjectPurchRules
    (ObjectID(int),ReqirementObjectID(int),OperatorRule(char),Sequence(int)) 
Run Code Online (Sandbox Code Playgroud)

但显然,当您处理结果时,如果没有分组,您将得到错误的答案.如果可能,我想避免过多的字符串解析:).一个对象可能具有未知数量的先前所需购买.用于处理规则的SQL或伪代码片段将不胜感激.:)

database boolean-logic rule-engine

14
推荐指数
1
解决办法
8473
查看次数

有可能以某种方式用cfdirectory排除文件?

使用cfdirectory时,如何在不指定我想要查看的所有文件的文件扩展名的情况下排除所有cfm文件并列出所有其他文件,或者在不查询查询的情况下排除特定文件(如index.html)?

我正在寻找类似下面的内容,请注意filter属性.

<cfdirectory directory="#ExpandPath('./')#" action="list" name="qryFiles" filter="!index.html" sort="name ASC" listinfo="name">
Run Code Online (Sandbox Code Playgroud)

要么:

<cfdirectory directory="#ExpandPath('./')#" action="list" name="qryFiles" filter="!*.cfm" sort="name ASC" listinfo="name">
Run Code Online (Sandbox Code Playgroud)

coldfusion cfdirectory

5
推荐指数
2
解决办法
3920
查看次数

在ColdFusion的DecimalFormat()函数中有什么用呢?如何获得正确的结果?

<cfset number1 = 20.5/80 * 100 />
<cfset number2 = 18.125 />
<cfset number3 = 6.875 />

<cfoutput>
DecimalFormat(#number1#): #DecimalFormat(number1)#<br />
DecimalFormat(#number2#): #DecimalFormat(number2)#<br />
DecimalFormat(#number3#): #DecimalFormat(number3)#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

输出:

DecimalFormat(25.625):25.62

DecimalFormat(18.125):18.13

DecimalFormat(6.875):6.88

产量不仅仅是产量:

DecimalFormat(25.625):25.63

DecimalFormat(18.125):18.13

DecimalFormat(6.875):6.88

看起来,作为数学计算结果的变量使得DecimalFormat()的行为有所不同.任何快速修复,无需深入研究java?

coldfusion decimalformat

5
推荐指数
1
解决办法
4642
查看次数

什么正则表达式将嵌套表与表格单元格中的可识别文本匹配?

什么正则表达式将嵌套表与表格单元格中的可识别文本匹配?我已经尝试但未能提出一个正则表达式来提取我想要的特定表,而不是抓住示例中两个表的开头和结尾.这是一些入门:" <table>.*?</table>"

<table>
    <tr>
        <td>
            <table>
                <tr><td>Code1</td></tr>
                <tr><td>some data</td></tr>
                <tr><td>etc ...</td></tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <table>
                <tr><td>Code2</td></tr>
                <tr><td>some data</td></tr>
                <tr><td>etc ...</td></tr>
            </table>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

假设我想提取包含"Code2"的表.什么正则表达式将具体匹配,只有那个表?

regex html-parsing

1
推荐指数
1
解决办法
3740
查看次数

为什么长 cfc 文件在 CF8 中有效,而在 CF9 中无效?获取“分支目标偏移量太大而不能短”错误

我有一个相当长的 cfc 文件,大约 1800 行,在 ColdFusion 8 中运行良好,但是在将我的开发系统升级到 ColdFusion 9 并进行一些测试后,我收到了 cfc 的编译错误,消息显示“分支目标偏移量也是如此大为短”。我修改了文件以消除一些未使用的功能并合并一个以使其更短,这解决了问题以使其正常工作。但是,为什么现在我升级到 CF9 时它就死在我身上了?还有其他人在以前或当前版本的 ColdFusion 中遇到过这个问题吗?除了升级jvm等修改cfc文件还有其他解决办法吗?

编辑 如果你有我的问题的答案,太好了!发布那个,但不要浪费时间告诉我一些我已经知道的事情。如果您要发布回复,请仔细阅读问题并仅在您知道答案时才回答。不要进行谷歌搜索并发布我已经知道并用来使代码工作的废话。问题是,为什么它在 CF8 中有效,而现在在 CF9 中无效?除了我所做的,还有其他解决方案吗?

coldfusion cfc

1
推荐指数
1
解决办法
3739
查看次数