小编Joe*_*200的帖子

声明变量时出错?

我可能只是愚蠢,但我试图创建一个变量,我收到此错误:

Syntax error on token "continue", invalid VariableDeclaratorId
Run Code Online (Sandbox Code Playgroud)

代码行是

static boolean continue = false;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,如果我改变变量名称它似乎工作,但我真的更喜欢使用变量名称"继续",因为它比"续"或任何其他变体更容易记住,这对我来说很重要.

那么,有什么办法可以声明这个变量吗?

java

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

1000000000纳秒似乎不等于秒

我正在创造一些魔法咒语,显然我希望每次使用之间都有延迟.

现在根据谷歌,一秒钟内有10亿纳秒.

但是,魔法法术会在不到两秒钟后重新充电.

@EventHandler
public void onInteract(PlayerInteractEvent e){
    Player p = e.getPlayer();
    if (p.getItemInHand().getType().equals(Material.BLAZE_ROD)){
        {
            {
                if (!kam.containsKey(p.getName())) kam.put(p.getName(), (long) 0);
                if (kam.get(p.getName()) < System.nanoTime()){
                    kam.remove(p.getName());
                    kam.put(p.getName(), System.nanoTime() + (1000000000 * 30));
                    //Do magic spell attack here.
                    }
                }
            }else{
                p.sendMessage(ChatColor.AQUA + "Skill recharging!");
            }
}
Run Code Online (Sandbox Code Playgroud)

显然我的代码试图添加System.nanoTime()加30秒,然后检查当前系统nanoTime是否大于我放入hashmap的系统,如果是,则执行该法术.

java nanotime

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

为什么eclipse错误地说我的方法必须返回一个double?

对于我正在进行的计算,我制作了一个方法来计算哪个数是两个中最低的:

public static double min(double one, double two){
    if (one < two) return one; //Return one if it is less than two
    if (two < one) return two; //Return two if it is less than one
    if (one == two) return two; //Return two, because it's the same.
}
Run Code Online (Sandbox Code Playgroud)

但是,Eclipse告诉我"这个方法必须返回double类型".

我对此感到困惑,因为该方法必须返回双打!数字可以更大,更小或等于另一个数字.因此,没有返回双精度的实例.

Eclipse为什么抱怨这个?

java eclipse

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

我如何"突破"while循环但仍然执行while循环?

我想有一个while循环,如果某个条件为真,不要在它下面执行代码,然后继续while循环.这是一些伪代码:

boolean poop
while (poop){
    if (player.isAwesome()){
        Continue doing while loop but do not execute below code
    }
    poop = false;
}
Run Code Online (Sandbox Code Playgroud)

是的,我可以使用这样的东西:

boolean poop
while (poop){
    boolean stopPoop = false;
    if (player.isAwesome()){
        stopPoop = true;
    }
    if (!stopPoop){
        poop = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这有点混乱和不方便,我想知道是否有更好的方法?

java

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

如何只修改String的第一个字母?

我有一个String读取"You cannot sit on that " + entity.getEntityType().toLowerCase() + "!";.返回大写,这就是我将其转换为小写的原因.

但是,我怎样才能获得第一个字母,并将其变成大写字母?

单线解决方案将是首选,但乞丐不能选择.

java string

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

.split("|")不返回正确的字符串

我将此字符串从客户端发送到服务器:

Ar|0.04107356|-0.31299785|-0.9991561
Run Code Online (Sandbox Code Playgroud)

该字符串由服务器打印出来 - 所以它是正确的.

"Ar"是数据包名称,值是射手将要射击的箭头的速度.

所以要获得这些价值,我正在使用

String[] values = str.split("|");
Run Code Online (Sandbox Code Playgroud)

然后

a.shoot(Float.valueOf(values[1]), Float.valueOf(values[2]), Float.valueOf(values[3])); //a is an archer
Run Code Online (Sandbox Code Playgroud)

问题是,值1,值[2]和值[3]似乎已损坏或无法识别.

我的完整代码是这样的:

 public void handleMessage(String str){
    System.out.println(str);
    String[] values = str.split("|");
    if (values[0].contains("Ar")){
        System.out.println("X: " + values[1] + " Y: " + values[2] + " Z: " + values[3]);
    }
    System.out.println("Vals: " + values[0] + " " + values[1] + " " + values[2] + " " + values[3]);
    if (true) return; //Returning so I can analyze de-bug messages …
Run Code Online (Sandbox Code Playgroud)

java

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

标签 统计

java ×6

eclipse ×1

nanotime ×1

string ×1