岂止是小问题,写了个死循环
you= blood-5;
use1=power-5;
o=f-7;
y=y+1;
blood、power、f全是定值;所以you、use1、o全是定值;
唯一随循环变化的就是y,每循环一次加1;
至于you>0&&use1>0&&o>0只要在手动输入前两项时都大于5,这个条件永远为true,
不是程序不执行、是死循环在里面了
public class 牧师战斗流程 {
public static void main(String[] args) {
int f=100;
int y=0;
Scanner in=new Scanner(System.in);
System.out.println("请输入牧师当前血量:");
int blood=in.nextInt();
System.out.println("请输入牧师魔法值:");
int power=in.nextInt();
System.out.println("请选择技能:1:轿雀明天使庇佑(消耗魔法2,回复队友血量3)");
System.out.println("2:上帝祝福(消耗魔法5,回复队友血量8)");
System.out.println("3:亡者之手即医者之手(自身血量,魔法减半。回复队友血量15");
System.out.println("请闭告输入序号。(队友初始血量岁返为100,每回合队友耗血10,你耗血5))");
int k=in.nextInt();
switch (k){
case 1:
do{
blood+= -5;
power+=-5;
f+=-7;
y+=1;
}while(blood>0&&power>0&&f>0);
System.out.println(y);
k是多少?如果k不是1 不执行循环的