我正在与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中.
在C++中如果我想读取输入直到EOF,我可以用以下方式完成
while(scanf("%d",&n))
{
A[i]=n;
i++;
}
Run Code Online (Sandbox Code Playgroud)
然后我可以将此代码作为./a.out <input.txt运行.这段代码的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) 早上好.我意识到有很多关于替换的问题,replaceAll()但我已经看到了这个.
我想要做的是解析一个字符串(其中包含有效的html到一个点)然后在我看到<p>字符串中的第二个实例之后我想要删除以&开头并以#结尾的所有内容; 直到我看到下一个</p>
为了做第二部分,我希望使用类似的东西 s.replaceAll("&*;","")
这不起作用,但希望它得到我的观点我想要替换任何以&开头的结尾;
是否可以让用户选择随机数的位数,特别是随机的Big Integer?例如,如果用户希望它长15位,则随机数生成器将仅生成15位长的大整数.
我正在使用大量的Java存储UUID到HashMap一行UUID.toString().由于数据量巨大,很快就会抛出OutOfMemoryError.现在我正在考虑一种紧凑的方式来表示UUID,最好是类似的东西long,然后我可以轻松地UUID用该long表示重建.这可能吗?
如何在Java中获取当前服务器的时间?我试过,System.currentTimeMills()但它返回给我客户的时间而不是服务器时间.我希望以毫秒为单位获得"服务器"时间.
请不要关闭这个问题.我在网上搜索,但我不明白.所有代码都返回值1970.我想要的是例如:当前服务器时间9/25/2012:10:19AM以毫秒为单位.
我也搜索了其他问题,这与其他问题没有重复.
给定一个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) 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) 我有一个带有maven的Spring-boot项目,我通过注释将代码与数据库连接起来,所以我不手动操作数据。我正在使用 Posgresql。
\n\n当我尝试访问服务器中的 URL 时,Eclipse 控制台显示以下错误:
\n\norg.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 ×10
biginteger ×1
collections ×1
dictionary ×1
eof ×1
file-io ×1
html ×1
inheritance ×1
java-ee ×1
logic ×1
maven ×1
oop ×1
performance ×1
postgresql ×1
random ×1
spring ×1
spring-boot ×1
string ×1
uuid ×1
websphere ×1