Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中更新/重新分配值_Java - Fatal编程技术网

在Java中更新/重新分配值

在Java中更新/重新分配值,java,Java,所以我的一个新项目陷入了一种荒谬的困境。我的任务之一是开发一个游戏,玩家可以选择最多四次治疗他们的英雄以获得最大生命值。我已经分配了一个健康值,分配了一个命令值,这样它可以识别玩家何时需要治疗,但我有点被困在如何限制用户只使用四次治疗命令,以及如何将他们的健康恢复到完全 我在读一篇关于stackoverflow的不同文章,这篇文章似乎与我的问题有一些关联,尽管我不太明白如何调整它以适应我的需要 Scanner sc = new Scanner(System.in); int number; do

所以我的一个新项目陷入了一种荒谬的困境。我的任务之一是开发一个游戏,玩家可以选择最多四次治疗他们的英雄以获得最大生命值。我已经分配了一个健康值,分配了一个命令值,这样它可以识别玩家何时需要治疗,但我有点被困在如何限制用户只使用四次治疗命令,以及如何将他们的健康恢复到完全

我在读一篇关于stackoverflow的不同文章,这篇文章似乎与我的问题有一些关联,尽管我不太明白如何调整它以适应我的需要

Scanner sc = new Scanner(System.in);
int number;
do {
    System.out.println("Please enter a positive number!");
    while (!sc.hasNextInt()) {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
} while (number <= 0);
System.out.println("Thank you! Got " + number);
Scanner sc=新扫描仪(System.in);
整数;
做{
System.out.println(“请输入正数!”);
而(!sc.hasnetint()){
System.out.println(“那不是一个数字!”);
sc.next();//这很重要!
}
编号=sc.nextInt();

}当(数字基本上我从你的问题中可以理解的是,你希望上面的代码最多执行4次,即如果用户调用方法1次执行它,2次执行它,依此类推……但是如果第五次调用它,你不希望执行代码。
这可以通过维护一个计数器来实现e如下所示

public class Q
{

public static void main(String[] n)
{
    Q1 ob =new Q1();
    ob.myMethod();
    System.out.println("One time");

    ob.myMethod();
    System.out.println("two time");

    ob.myMethod();
    System.out.println("three time");

    ob.myMethod();
    System.out.println("Fourth time");

    ob.myMethod();

}
}
如您所见,我已经调用了该方法5次。现在让我们看看如何限制用户仅获取或调用该方法4次

class Q1
{
int counter=0;
public void myMethod()
{
    if(counter<4)
    {
        Scanner sc = new Scanner(System.in);
        int number;
        do 
        {
            System.out.println("Please enter a positive number!");
            while (!sc.hasNextInt()) 
            {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
    } while (number <= 0);
    System.out.println("Thank you! Got " + number);
    counter++;
}

else
{
    System.out.println("A maximum of 4 times of healing is allowed");
}

}
 }
Q1类
{
int计数器=0;
公共方法()
{

如果(counter基本上,我从您的问题中可以理解的是,您希望上述代码最多执行4次,即如果用户调用方法1次执行它,2次执行它,依此类推……但是如果第五次调用它,您不希望执行代码。
这可以通过维护计数器来实现,例如e如下所示

public class Q
{

public static void main(String[] n)
{
    Q1 ob =new Q1();
    ob.myMethod();
    System.out.println("One time");

    ob.myMethod();
    System.out.println("two time");

    ob.myMethod();
    System.out.println("three time");

    ob.myMethod();
    System.out.println("Fourth time");

    ob.myMethod();

}
}
如您所见,我已经调用了该方法5次。现在让我们看看如何限制用户仅获取或调用该方法4次

class Q1
{
int counter=0;
public void myMethod()
{
    if(counter<4)
    {
        Scanner sc = new Scanner(System.in);
        int number;
        do 
        {
            System.out.println("Please enter a positive number!");
            while (!sc.hasNextInt()) 
            {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
    } while (number <= 0);
    System.out.println("Thank you! Got " + number);
    counter++;
}

else
{
    System.out.println("A maximum of 4 times of healing is allowed");
}

}
 }
Q1类
{
int计数器=0;
公共方法()
{

如果(副手)你需要一个治疗计数器,它从4开始,在每个
heal
方法上下降1?你没有提供足够的上下文让我们理解这个问题。玩家如何“要求”治疗?限制“四次”意味着什么…每次治疗?每分钟?每小时?每一生?角色生命周期的定义是什么“健康”?它是一个数字,还是有其他属性?等等……很多未回答的问题。所以你需要一个治疗计数器,从4开始,在每个
heal
方法上下降1?你没有给出足够的上下文让我们理解这个问题。玩家如何“要求”治疗?限制“四次”是多少“平均…每段时间?每分钟?每小时?每一生?角色“健康”的定义是什么?它是一个数字,还是有其他属性?等等…许多未回答的问题。