小编Thr*_*rax的帖子

计算列表列表中的对象属性总和(带流)

我正在使用Java 8,我想使用List.stream()functionnalities 来解决我的问题.

这是我的问题:

这是Score班级(Player班级没关系):

public class Score {

    private Player player;
    private int score;

    public Player getPlayer() {
        return player;
    }

    public void setPlayer(Player player) {
        this.player = player;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的程序开始时,我有一个填充的玩家列表:

List<Player> players; // Populated elsewhere
Run Code Online (Sandbox Code Playgroud)

我的程序然后做它必须做的事情,我得到一个这种类型的变量:

List<List<Score>> scores; // Populated elsewhere
Run Code Online (Sandbox Code Playgroud)

现在我想为每个玩家打印一个格式化的输出,例如:

Player.getName() + " : " + averagedScore;
Run Code Online (Sandbox Code Playgroud)

其中一个值averagedScore的总和除以我的变量中此玩家得分的出现次数.score.getScore()Playerscores …

java list java-8

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

Java风格的正则表达式:如果组是n个字符,则匹配整个字符串

我正在尝试为String验证器创建一个Regex.我的字符串长度必须正好为8个字符,并以字母(小写或大写)或数字开头.它只能在第一个字符后面包含字母(小写和大写),数字或空格.如果找到空格,则后面只能有空格.

现在,我有第二部分的匹配组: [a-zA-Z0-9]{1,}\s*

我找不到一种方法来指定该组只有恰好有8个字符才匹配.我试过^([a-zA-Z0-9]{1,}\s*){8}$但这不是预期的结果.

以下是一些测试用例(带有尾随空格).

有效期:

9013    
20130   
89B     
A5000000
Run Code Online (Sandbox Code Playgroud)

无效:

9013     
 20130  
90 90   
123456789   
Run Code Online (Sandbox Code Playgroud)

java regex

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

Forfiles 命令:在目录路径中使用斜杠而不是反斜杠

我的脚本用于删除超过n几天的日志文件。它在特定上下文(Spring 批处理)中调用,该上下文先前已初始化多个环境变量。

这是脚本的内容:

set DAYS = 3
forfiles /p %LOG_PATH% /s /d -%DAYS % /m *.* /c "cmd /c del @FILE"
Run Code Online (Sandbox Code Playgroud)

如您所见,我无法控制LOG_PATH. 它在别处初始化并包含一个带有斜杠(而不是反斜杠)的路径,例如:D:/DATA/LOGS

当我启动这个脚本时,我得到了这个错误: The directory name is invalid.

如果我手动用反斜杠写路径,则命令成功。

那么,是否可以将环境变量隔开以便命令接受斜杠?或者你将如何在运行时用反斜杠替换斜杠?

谢谢。

windows batch-file backslash

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

标签 统计

java ×2

backslash ×1

batch-file ×1

java-8 ×1

list ×1

regex ×1

windows ×1