小编Aer*_*rus的帖子

迭代按顺序播放Play框架

我将模板传递给TreeSetStrings.但是,当我像这样循环遍历集合时:

@(usernames : TreeSet[String])
@for( name <- usernames){
    @name ,
}
Run Code Online (Sandbox Code Playgroud)

但是,名称永远不会以正确的顺序打印.

如何在模板中迭代我的设置并按顺序打印名称?

templates scala playframework-2.0

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

继承的try-catch问题(Java)

我们正在尝试实现某种Chess游戏,我们已经使用构造函数定义了一个抽象类Piece:

public Piece(String name) throws EmptyStringException{
    if(name.length()<=0)
        throw new EmptyStringException();
    pieceName = name;
}
Run Code Online (Sandbox Code Playgroud)

扩展类可能如下所示:

public King(boolean white) throws EmptyStringException{         
    super("King", white);        
}
Run Code Online (Sandbox Code Playgroud)

这里的'问题'是,如果我想创建一个新的King作品我必须写:

try {
    Piece king = new King(true);
} catch(EmptyStringException e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

而不是更简单:

Piece king = new King(true);
Run Code Online (Sandbox Code Playgroud)

所以,即使我根本无法创建EmptyStringException,我仍然需要尝试/捕获异常.

我怎么能解决这个问题所以我仍然可以在Piece中抛出EmptyStringException,但是每次我需要创建一个新的国际象棋时都不必尝试/ catch?

java inheritance try-catch

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

与继承 Java 不兼容的类型

我正试图解决我遇到的这个继承问题。这是我目前的情况:

在此处输入图片说明

所以我有一个计划,可以是活动列表(类Activities)或要做的事情列表(类Todos)。
但是,如果我这样做Todos

private List<Todo> todos;

public List<Activity> getPlanning(){
    return todos;
}
Run Code Online (Sandbox Code Playgroud)

它说类型不兼容。

  • 为什么它们不兼容?

由于Todoextends from Activity,我们是否确定Todo至少提供与 相同的功能Activity

也许更重要的是:

  • 我如何调整我的设计以使其正常工作

(我不是 UML 专家,所以如果我的图表中有一些错误,请原谅我)

java inheritance

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

有条件地组映射条目 - Java 8

我有以下地图:

AB -> 0.5
AC -> 0.7
AD -> 0.2
B  -> 0.3
C  -> 0.9
Run Code Online (Sandbox Code Playgroud)

我现在想要将它映射到此,最好使用Java 8:

A  -> (0.5 + 0.7 + 0.2) / 3
B  -> 0.3
C  -> 0.9
Run Code Online (Sandbox Code Playgroud)

我尝试过收藏家和计算机的组合,但是永远不会到达那里.如果键的第一个字符是'A',那么键应该被分组,然后该值应该是该组的平均值.如果密钥不以"A"开头,则该条目应保持原样.

java java-8 java-stream

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

如何在使用com.jcabi.aspects的@Cacheable注释时从缓存中刷新特定数据?

我在我的项目中使用缓存机制的@Cacheable注释,com.jcabi.aspects我有一个场景,我需要从缓存中刷新特定数据,而不是刷新整个缓存.这怎么可能?

例如,

import com.jcabi.aspects.Cacheable;
public class Employees {
     @Cacheable(lifetime = 1, unit = TimeUnit.HOURS)
     static int size(Organization org) {
         // calculate their amount in MySQL
     }
     @Cacheable.FlushBefore
     static void add(Employee employee, Organization org) {
         // add a new one to MySQL
     }
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个由两个组织Org1和Org2使用的Employees类,现在如果将新员工添加到Org1,那么只有Org1的数据应该从缓存中刷新,而Org2的数据应该保留在缓存中.

参考com.jcabi.aspects.Cacheable @Cacheable:http://www.yegor256.com/2014/08/03/cacheable-java-annotation.html

java caching jcabi

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

保持计划技能

在过去的两年里,我一直在学习Java,C,C++,Python,SQL等语言.

我还学到了一些不那么重要的东西,比如LaTeX,VBA,unix shell中的脚本,如何使用CGI脚本以及HTML和CSS.
我已经学会了所有这些非常好的,而不仅仅是一些Hello World!-applications ...

但是,如何保持这么多'不同语言及其所有方面?

如果有人告诉我现在用Python设置程序,我就不知道如何开始,我首先要再次阅读我的学习书.

programming-languages

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

嵌套的if语句C++

我正在用C++编写一个Snake程序(使用JNI进行可视化),并且有效的移动按钮要么是(逆时针移动90°)要么是向右移动(顺时针移动90°).

在游戏循环的每个循环中,我从GUI界面检索一个键事件,并根据该键事件移动我的蛇,这是我这样做的方式:

if(key_event != NULL){
    if(key_event == LEFT){
        if(moveDirection == UP || moveDirection == DOWN){
            moveDirection = LEFT;
            (moveDirection == UP) ? /*change turn after head*/ : /*change turn after head*/;
        } //else if (moveDir == LEFT || RIGHT)
    } //else if (key_event == RIGHT)
    //...
}
Run Code Online (Sandbox Code Playgroud)

if with:/*change turn after head*/是因为如果蛇向下移动并向左移动则转弯处有另一个图形,然后向上向左移动.

这导致很多if语句的和不很readible,所以我不知道是否有解决嵌套的if语句这样的通用方法.

编辑:
key_event和moveDirection是枚举.

c++ if-statement nested

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

检查之前是否运行过Java应用程序

非常喜欢这篇文章,我想检查一下我的Java应用程序是否已经启动过.

Java中是否有任何标准方法可以执行此操作,或者我是否应该在第一次启动时创建一个文件,以指示应用程序之前已启动?

java installer launch

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

Play 2.0.4中表单中的初始值

profile.scala.html在Play 2.04框架中的模板中创建了一个表单.我添加了几个像这样的输入字段(即用户的名字):

@inputText(settings("firstName"), '_label -> "First name:")

这很好地显示了带有自定义标签和约束的输入字段.

但是我想要一些字段有一些初始值,因为用户之前可能已经填写了一些字段,现在他只是简单地编辑了他的设置.

如何使用当前设置将这些初始值添加到输入字段?

forms playframework-2.0

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

将列数据映射到值(Oracle)

我有一个Oracle数据库,我有一个名为的表Car.我可以选择这样Mileage的车:

SELECT MILEAGE FROM CAR

这给了我:

  • 100
  • 500
  • 1000
  • 等等

但是,我想将1000以上的值标记为High,其余的标记为Low,如下所示:

如何更改初始查询才能执行此操作?

sql oracle map

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

提交表格(Python)

我有一个完整的链接页面,如下所示:

<a href="javascript:Window('args')"> text here </a>
Run Code Online (Sandbox Code Playgroud)

单击链接时会弹出一个窗口(使用Javascript).Javascript还会创建新窗口的内容.(带innerHTML)

内容包含以下形式:

<form method="post" action="/doaction.php">
    <input type="hidden" value="hashcode">
    /* code to insert data (textfields etc.) */
    <input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我想要做的是:

  1. 过滤我需要的所有链接
  2. 单击第一个链接以打开弹出窗口
  3. 单击 " 提交"按钮以发送数据

第一步不应该是艰难的,我可以自己解决这个问题.
但是我不知道如何做第2步(但我可能会找到一些关于如何在Python中单击链接的教程)和第3步.

因此,非常感谢任何有关如何从第3步开始的帮助.

(如果我真的不应该在Python中这样做,请告诉我)

javascript python forms

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