有没有办法从过去检索输入值

时间:2015-01-05 10:08:56

标签: java

我是java的初学者,这是我目前唯一知道如何使用的代码。我正在研究RPG游戏的食物系统。基本上它显示可用食品清单,并要求您按数字吃。按下一个数字后,它根据您的号码对应打印出您决定吃的东西。然后我需要检索你吃的“食物”,以便我可以使用它的统计数据。这是我到目前为止所做的:

  public String eatmenu() {
    System.out.print ( "Consumables: ");
    for ( Sustenance consum : consumables ) {
        System.out.print ( "[" + consum + "], " );
    }
    int number = consumables.size();
    int counter = 1;

    while ( counter <= number ){
        System.out.print ("\nPress " + counter + " to consume " + consumables.get(counter-1));
        counter++;
    }
    int choice = reader.nextInt();
    String eatchoice = "You decided to consume " + consumables.get(choice-1);
    return eatchoice;
}
public String eat3(){

    //the food just eaten, 
}

以下是食品类或“寄托”的代码:

public class Sustenance extends Item {
String n;
int v;
int s;
public Sustenance ( String name, int Nvalue, int size ){
    n= name;
    Nvalue = v;
    size = s;

}
public String toString() {
    String str = "The " + n + "increased your Nutrition level by " + v + ".\nYour backpack is also " +
    s + " pounds lighter.";
    return str;
}

}

对于eat3方法的内容,我们很感激。我知道我将使用toString方法打印出吃特定食物的效果,但我如何参考我刚吃的食物?我会把一切都视为批评。感谢您的时间。

1 个答案:

答案 0 :(得分:0)

使用JavaBeans设置食物然后获取食物。例如:

public class FoodBean{

public FoodBean(){}

private String foodName;
// other fields which you wana set or get

public void setFoodName(String foodName){
 this.foodName = foodName;
}

public String getFoodName(){
    return this.foodName;
  }
// override the toString() if you want the object to represent the foodName stored

@Override
public String toString(){
 return this.foodName;
  }
}

好的,现在我们有一个BeanClass ..

现在,只要用户点击任何项目

,您就需要创建一个bean对象
FoodBean fb = new FoodBean();
fb.setFoodName("get food name from the mapped list here against its number");

现在在程序中的任何地方使用getFoodName(),请注意,如果在方法中创建它,则上面的bean对象具有局部作用域,您需要对FoodBean进行全局相同的引用并将新创建的对象分配给它,然后在类中的任何位置使用该全局引用。 进一步看看这个简单的tutorial