小编Bri*_*ian的帖子

Java字典<String,List <Object >>

我正在与XNA游戏工作室制作游戏,现在我想用Java重写它.这就像2D Minecraft克隆.对于碰撞检测,我必须遍历游戏中的所有块以检查玩家是否与块碰撞.由于有大量的块,所以不可能这样做,因此我制作了一个网格系统.我将世界划分为包含块的网格,并将它们放入字典中.

Dictionary<string, List<Block>> gameBlocks;
Run Code Online (Sandbox Code Playgroud)

现在我只需遍历当前网格中的块.

这是注册块的方法:

public void RegisterBlock(Block block)
{
    idX = (int)(block.blockPosition.X / width);
    idY = (int)(block.blockPosition.Y / height);
    string id = idX.ToString() + "_" + idY.ToString();
    if (gameBlocks.ContainsKey(id))
    {
        gameBlocks[id].Add(block);
    }
    else
    {
        gameBlocks.Add(id, new List<Block>());
        gameBlocks[id].Add(block);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我试图用Java重写它,但我不知道如何将某些内容放入Dictionary中.

java dictionary

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

在java中读取输入直到EOF

在C++中如果我想读取输入直到EOF,我可以用以下方式完成

while(scanf("%d",&n))
{
    A[i]=n;
    i++;
}
Run Code Online (Sandbox Code Playgroud)

然后我可以将此代码作为./a.out <input.txt运行.这段代码的java等价物是什么?

java file-io eof

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

与&&的不一致和Java中的除零错误

我开始使用Java,我遇到了一些不一致的问题.为什么这样做:

if ((d != 0) && (n / d < 3)) {
    compute(a, d);
}
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

if ((n / d < 3) && (d != 0)) {
    compute(a, d);
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at compute.main(compute.java:63)
Run Code Online (Sandbox Code Playgroud)

java logic

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

是否可以将replaceAll()与通配符一起使用

早上好.我意识到有很多关于替换的问题,replaceAll()但我已经看到了这个.

我想要做的是解析一个字符串(其中包含有效的html到一个点)然后在我看到<p>字符串中的第二个实例之后我想要删除以&开头并以#结尾的所有内容; 直到我看到下一个</p>

为了做第二部分,我希望使用类似的东西 s.replaceAll("&*;","")

这不起作用,但希望它得到我的观点我想要替换任何以&开头的结尾;

html java string

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

Java随机数生成器

是否可以让用户选择随机数的位数,特别是随机的Big Integer?例如,如果用户希望它长15位,则随机数生成器将仅生成15位长的大整数.

java random biginteger

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

Java UUID的长表示

我正在使用大量的Java存储UUID到HashMap一行UUID.toString().由于数据量巨大,很快就会抛出OutOfMemoryError.现在我正在考虑一种紧凑的方式来表示UUID,最好是类似的东西long,然后我可以轻松地UUID用该long表示重建.这可能吗?

java uuid out-of-memory

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

如何在Java中获取当前服务器时间?

如何在Java中获取当前服务器的时间?我试过,System.currentTimeMills()但它返回给我客户的时间而不是服务器时间.我希望以毫秒为单位获得"服务器"时间.

请不要关闭这个问题.我在网上搜索,但我不明白.所有代码都返回值1970.我想要的是例如:当前服务器时间9/25/2012:10:19AM以毫秒为单位.

我也搜索了其他问题,这与其他问题没有重复.

java websphere java-ee

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

在列表中查找唯一值的快速方法

给定一个KeyValuePairs列表,其中每对都有一个getValue()方法,获取List(或Set)唯一值的最快方法是什么?

以下所有产生可接受的结果.u1似乎是最快的超过预期的列表大小(约1000-2000 KVP)

我们能做得更好(更快)吗?

private static Set<String> u1(List<_KVPair> pairs) {
    Set<String> undefined = new HashSet<String>();

    for (_KVPair pair : pairs) {
        undefined.add(pair.getValue());
    }

    if (undefined.size() == 1) {
        return new HashSet<String>();
    }
    return undefined;
}

private static List<String> u2(List<_KVPair> pairs) {

    List<String> undefined = new ArrayList<String>();
    for (_KVPair pair : pairs) {
        if (!undefined.contains(pair.getValue())) {
            undefined.add(pair.getValue());
        }
    }

    return undefined;
}

private static List<String> u3(List<_KVPair> pairs) {

    List<String> undefined = new LinkedList<String>(); …
Run Code Online (Sandbox Code Playgroud)

java collections performance

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

私人会员可通过公共方式访问

private修饰符指定只能在自己的类中访问该成员.但我能够使用从基类继承的公共方法来访问它.有人能解释一下为什么吗?这是否意味着Child类的对象包含一个名为b的成员?

这是代码:

package a;

public class Base {
    private int b;

    public int getB() {
        return b;
    }

    public void exposeB() {
        System.out.println(getB());
    }

    public Base(int b) {
        this.b = b;

    }
}

package b;

public class Child extends Base {

    Child(int b) {
        super(b);
    }

    public static void main(String args[]) {
        Child b = new Child(2);
        // Prints  2
        System.out.println("Accessing private base variable" + b.getB());
    }
}
Run Code Online (Sandbox Code Playgroud)

java oop inheritance

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

PSQLException:接近或“实体”的语法错误 - Spring Boot

我有一个带有maven的Spring-boot项目,我通过注释将代码与数据库连接起来,所以我不手动操作数据。我正在使用 Posgresql。

\n\n

当我尝试访问服务器中的 URL 时,Eclipse 控制台显示以下错误:

\n\n
org.postgresql.util.PSQLException: ERROR: error de sintaxis en o cerca de \xc3\x82\xc2\xaborder\xc3\x82\xc2\xbb\n  Position: 145\n    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2310) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2023) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:217) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:421) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:166) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:118) ~[postgresql-9.4.1209.jre7.jar:9.4.1209.jre7]\n    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.getResultSet(Loader.java:2117) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1900) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1876) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.doQuery(Loader.java:919) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.doList(Loader.java:2617) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.doList(Loader.java:2600) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2429) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.Loader.list(Loader.java:2424) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1326) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]\n …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring maven spring-boot

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