我正在为我的计算机科学课为基于文本的游戏编写一些代码,但我在使用此代码时遇到了一些问题 (java code)
所有代码都有效,直到我输入if / else语句,所以我想知道我应该把语句放在哪里。
代码:
import java.util.Scanner;
import java.util.ArrayList;
class Progress {
public String udc;
public String u = "up";
public String d = "down";
public void start() {
System.out.println("Hello.");
}
public void c1() {
Scanner name=new Scanner(System.in);
System.out.println("What's your name?");
System.out.println("Hello "+name.nextLine()+".");
}
public void uod() {
Scanner ud = new Scanner(System.in);
System.out.println("Up or down?");
udc = ud.nextLine();
}
public void uodc() {
System.out.println("going "+udc+".");
}
public void end() {
System.out.println("Press any key to exit");
}
}
public class APGame {
public static void main(String[] args) {
Progress p =new Progress();
p.start();
p.c1();
p.uod();
if (u.equals(udc)) {p.uodc();}
else {p.oud();}
p.end();
}}
答案 0 :(得分:1)
u
和udc
变量在另一个类中定义,即Progress
,应该p.u
和{{1}访问(因为它们是公开的) }}
p.udc
答案 1 :(得分:0)
udc
和u
是类Progress
的实例变量。所以if-else语句的问题是你没有从Progress类的任何对象引用udc
。要解决它:
if(p.u.equals(p.udc) {
p.uodc();
}else{
p.uod();
}