Java游戏的编码问题

时间:2017-04-27 16:20:25

标签: java

我正在为我的计算机科学课为基于文本的游戏编写一些代码,但我在使用此代码时遇到了一些问题 (java code)

所有代码都有效,直到我输入if / else语句,所以我想知道我应该把语句放在哪里。

(Error Message)

代码:

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();
}}

2 个答案:

答案 0 :(得分:1)

uudc变量在另一个类中定义,即Progress,应该p.u和{{1}访问(因为它们是公开的) }}

p.udc

答案 1 :(得分:0)

udcu是类Progress的实例变量。所以if-else语句的问题是你没有从Progress类的任何对象引用udc。要解决它:

if(p.u.equals(p.udc) {
  p.uodc();
}else{
  p.uod();
}