我目前正在制作一个小程序来教我一些新的Java,而我被卡住了。我正在制作的节目,你进入一个预先设定的位置,它会给你多少距离的jist。除了我想添加两个+字位置,除了每当我输入它时,它都会直接到else语句,而不是给jist。我的代码如下。不读两个字输入
import java.util.*;
public class Distance {
String _destination;
public Distance() {
Scanner scan = new Scanner(System.in);
System.out.println("Where do you want to go?");
_destination = scan.next();
if(getDistance() >= 2000) {
System.out.println("F*cking woop c*nt");
} else if(getDistance() >= 500) {
System.out.println("F*cking far c*nt");
} else if(getDistance() < 0) {
System.out.println("What are you? Retarded?");
} else if(getDistance().equals("0") {
System.out.println("Why bother?");
} else {
System.out.println("Walk it c*nt");
}
}
public int getDistance() {
int distance = 0;
if(_destination.equalsIgnoreCase("Ellenbrook")) {
distance = 1200;
} else if(_destination.equalsIgnoreCase("Midland")) {
distance = 900;
} else if(_destination.equalsIgnoreCase("Perth")) {
distance = 200;
} else if(_destination.equalsIgnoreCase("Woop Woop")) {
distance = 2100;
} else if(_destination.equalsIgnoreCase("High Wycombe")) {
distance = -2;
}
return distance;
}
public static void main(String[] args) {
new Distance();
}
}
你getDistance的()方法返回INT,但如果(getDistance的()等于(”你用别的。 0)))在你的构造函数 - 尝试其他如果(getDistance()== 0)(当然,这不能解决你的扫描问题) – 2012-02-19 10:28:49
我做了其他if(String.valueOf(getDistance())。equals(“0 “){},因为我一直得到一个derefenced int错误。 – 2012-02-19 10:31:42