java 小程序的问题

2024-11-27 02:27:40
推荐回答(2个)
回答1:

岂止是小问题,写了个死循环

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);

回答2:

k是多少?如果k不是1 不执行循环的