小编jur*_*iks的帖子

Java计算一年中的天数

在任何本机Java类中是否有一个方法来计算特定年份中/将会有多少天?如同,是闰年(366天)还是正常年份(365天)?

或者我需要自己写吗?

我正在计算两个日期之间的天数,例如,我生日前剩下的天数.我想考虑闰年2月29日.除了29日,我完成了所有工作.

java calendar leap-year

16
推荐指数
6
解决办法
3万
查看次数

java单例实例化

我已经找到了三种实例化Singleton的方法,但我怀疑它们中是否有最好的方法.我在多线程环境中使用它们并且更喜欢惰性实例化.
样本1:

private static final ClassName INSTANCE = new ClassName();

public static ClassName getInstance() {
    return INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)

样本2:

private static class SingletonHolder { 
    public static final ClassName INSTANCE = new ClassName();
}

public static ClassName getInstance() {
    return SingletonHolder.INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)

样本3:

private static ClassName INSTANCE;

public static synchronized ClassName getInstance()
{
    if (INSTANCE == null)
        INSTANCE = new ClassName();

    return INSTANCE;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用ATM的项目到处都使用Sample 2,但我更喜欢Sample 3.还有Enum版本,但我只是不明白.

这里的问题是 - 在哪些情况下我应该/不应该使用这些变化中的任何一种?我不是在寻找冗长的解释(关于这一点还有很多其他主题,但它们最终都变成了争论IMO),我希望用几句话来理解它.

java singleton instance

9
推荐指数
2
解决办法
9548
查看次数

MySQL在减去无符号值时如何使负结果成为可能?

我有左表连接加入的三个表.这是代码:

SELECT
(LEAST(`a`.`price, `b`.`price`) - `c`.`price`) AS `diff`
...
ORDER BY `diff` DESC
Run Code Online (Sandbox Code Playgroud)

问题:c.price大于最小值,因此减法为负并且抛出BIGINT UNSIGNED值超出范围.我该怎么做才不会抛出这个荒谬的错误?
这是结果数据,我没有修改表中的实际数据,为什么它不允许我这样做呢?我已经尝试过CAST(LEAST(...) AS SIGNED)将这两列列在LEAST内,因为已签名,但都没有用.

mysql

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

java数量超过long.max_value - 如何检测?

我在检测两个数字的和/乘以是否超过长整数的最大值时遇到问题.
示例代码:

long a = 2 * Long.MAX_VALUE;
System.out.println("long.max * smth > long.max... or is it? a=" + a);
Run Code Online (Sandbox Code Playgroud)

这给了我-2,而我希望它会抛出NumberFormatException......

是否有简单的方法使这项工作?因为我有一些代码在嵌套的IF块中进行乘法或在循环中添加,我不想在每个IF或循环内添加更多的IF.

编辑:哦,好吧,似乎从另一个问题的答案是最适合我需要的:https:
//stackoverflow.com/a/9057367/540394我不想做装箱/拆箱,因为它增加了不必要的开销,这种方式很短,这对我来说是一个巨大的优势.我将编写两个简短函数来执行这些检查并返回最小或最大长度.

Edit2:这是根据我上面链接的答案将长度限制为最小/最大值的功能:

/**
 * @param a : one of the two numbers added/multiplied
 * @param b : the other of the two numbers
 * @param c : the result of the addition/multiplication
 * @return the minimum or maximum value of a long integer if addition/multiplication of a and b is less than …
Run Code Online (Sandbox Code Playgroud)

java numbers

6
推荐指数
2
解决办法
2万
查看次数

IntelliJ IDEA 13运行普通Scala应用程序的问题

我在IDEA制作了一个绝对基本的Scala项目.文件夹结构只是.idea,srcprojectName.iml.在里面src我只有一个名为的文件Main.scala.该文件的内容是:

object Main extends App
{
    println("Hello, World")
}
Run Code Online (Sandbox Code Playgroud)

我试图从IDEA内部运行此代码.在Eclipse/Java中,只需右键单击主类文件并单击"Run As ... Java Application"即可完成此操作.

显然,IDEA不会自动将Main.scala识别为可执行文件,因此上下文菜单不包含此类选项.只有Run Scala Console,这绝对不是我需要的,甚至似乎没有正常工作(它说type :help to see more,但键入它只会突出显示文本作为错误).环顾谷歌,我发现你可以做到以下几点:

  • 转到主程序上下文菜单调用Run,选择Edit Configurations
  • 单击+按钮添加新配置,选择Application为基础
  • 选择运行配置的主类,如果需要,输入任何其他内容,然后保存配置

这就是问题所在.我不能选择主类.当我单击Main class:输入字段旁边的浏览按钮时,选择Project选项卡,浏览src/Main并单击OK,弹出一个带有文本的警告窗口Main is not acceptable.

该错误消息绝对没有提供关于为什么它不可接受的信息,这特别令人讨厌,因为相同的项目结构可以与Java项目一起使用.

有谁知道如何使这项工作?

PS IDEA版本13.1.3,scala版本2.11.1.

scala intellij-idea

6
推荐指数
0
解决办法
2152
查看次数

在telnet中清除输出

有没有办法让telnet应用程序清除输出客户端(使用Java Socket连接+缓冲区)?例如,程序向连接的用户查询登录名和密码,当他们成功登录时,我会cls为Windows或clearLinux做.

java telnet

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

PHP数字到单词西班牙语!

有没有人知道一个免费许可的PHP代码,可以将数字转换成西班牙语的单词?
我的工作需要它来生成账单,所以它需要准确.
我对西班牙语的了解几乎不存在,所以很难自己写出来; 我对西班牙语语一无所知.

编辑:我已经写了我自己的版本,现在它仅适用于3位数字(在小数点的两边),但这是一个好的开始.如果我说得很大(5种语言计划atm),我可能会在github上分享它.不要赌它.

php php-5.3

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

symfony 3 - 生成具有不同语言环境的当前 url

我想要做的是创建一个输出链接列表的语言切换器模板,如下所示:

<div class="language-switcher">
    <ul>
        {% for locale in allowed_locales %}
            <li>
                <a href="{{ path($get current route name here $, { '_locale': locale }) }}">
                    {{ locale|upper }}
                </a>
            </li>
        {% endfor %}
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我遇到的主要问题是 - Twig 的内置path函数接受路由 NAME,在 Symfony 3 中似乎无法检索。

另一个问题是 - 路由可能有额外的参数,需要与 _locale 参数合并。从我在互联网上找到的代码(当然都是针对 symfony v2 的),使这项工作产生非常难看的代码,这些代码绝对不属于模板。

我认为实现这一点的最佳方法是为此目的使用新的路由生成功能制作 Twig 扩展,但似乎这也可能有问题,因为 path() 函数位于另一个扩展中,我没有知道如何从我自己的扩展程序访问(我也不太确定这是个好主意)。

我怎么能做出这个东西?

编辑:我也不想在每个操作中将数据传递给模板,因为这根本不是 DRY。

php routing locale symfony

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

如何使用角度JS来阻止表单提交进入按键?

HTML:

<button class="btn btn-primary btn-xs" ng-click="toggleForm()">Add translation</button>
<form class="block form-inline" id="translation_form" ng-show="form" ng-submit="addTranslation()">
    <h4>
        Enter a new translation for this text in {{language | uppercase}}:
        <button class="close" ng-click="toggleForm()" title="Close form">&times;</button>
    </h4>
    <hr />
    <div class="form-group">
        <input type="text" class="form-control" ng-model="formData.text" />
        <button type="submit" class="btn btn-primary btn-sm">Add</button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.formData = {
    text: ''
};

$scope.toggleForm = function()
{
    if ($scope.form)
    {
        console.log('form closed', $scope.formData.text);
        $scope.form = false;
        $scope.formData.text = '';
    }
    else
    {
        $scope.form = true;

        if ($scope.history
            && ($scope.history.length …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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