import java.util.*;
import java.io.*;
import java.math.*;
class Player {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
// game loop
while (true) {
String enemy1 = in.next(); // name of enemy 1
int dist1 = in.nextInt(); // distance to enemy 1
String enemy2 = in.next(); // name of enemy 2
int dist2 = in.nextInt(); // distance to enemy 2
// Write an action using System.out.println()
// To debug: System.err.println("Debug messages...");
if (dist1 < dist2) {
System.out.println(ememy1);
else {
System.out.println(enemy2);
break;
}
}
}
}
}
}
我正在CodinGame中应对这一挑战,但我仍然坚持这个错误。我不确定我是否应该使用其他,或者其他什么?这是我得到的错误:
Standard Error Stream:
error: 'else' without 'if'
else {`
^
答案 0 :(得分:1)
你应该在System.out.println(enemy1)
行之后有一个括号,并在else
语句之后删除其中一个。它们是单独的表达式:如果这是真的,做一些事情。 ELSE,做点别的事。
答案 1 :(得分:-1)
额外和错误放置的牙箍:
import java.util.*;
import java.io.*;
import java.math.*;
class Player {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
// game loop
while (true) {
String enemy1 = in.next(); // name of enemy 1
int dist1 = in.nextInt(); // distance to enemy 1
String enemy2 = in.next(); // name of enemy 2
int dist2 = in.nextInt(); // distance to enemy 2
// Write an action using System.out.println()
// To debug: System.err.println("Debug messages...");
if (dist1 < dist2) {
System.out.println(ememy1);
}
else {
System.out.println(enemy2);
break;
}
}
}
}
此外,正确缩进代码,以便您可以看到块结束。