我是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方法打印出吃特定食物的效果,但我如何参考我刚吃的食物?我会把一切都视为批评。感谢您的时间。
答案 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