设置一个值为零
问题描述:
好的,在我的cs类中,我们有一个赋值,它要求我们返回一个值,然后将其设置为零。我不知道如何做到这一点,而不使用第二个变量(这将会破坏需求),所以我会很感激一些帮助。这里是确切的要求。设置一个值为零
“有一个use()方法,它返回points字段中包含的值,它也将points字段重置为零,您将不得不考虑操作顺序以使其正确工作。 “
package Game;
import java.util.Random;
public class HealthPotion
{
private int points;
boolean Haspotion;
HealthPotion()
{
Random num1 = new Random();
int num = num1.nextInt(10)+1;
points=num*10;
}
public int Use()
{
return points;
}
public int getPoints()
{
return points;
}
}
答
包括像这样的setter方法。
public void setValue(){
this.points=0;
}
获得该值后调用此方法。
答
这个怎么样?
public int Use()
{
int tmp = points;
points = 0;
return tmp;
}
它具有局限性,特别是如果points
可以通过不同的线程,而此方法执行而改变。但是,如果你在单线程环境中工作,这应该没问题。
答
这应该工作
int points = 5;
public void test(){
System.out.println(use() +" " + points);
}
private int use(){
return points - (points = 0);
}
返回5 0
+0
这是行不通的,因为在评估过程中按照优先顺序丢失点的值。它等于'return 0 - 0;',这不符合问题。 – lee
您可以使用setter函数设置的值为零 – Coder
我可以,但说的也是我的要求之外。 –
如果您有特殊要求,请特别说明。 – lee