问题描述
- 这是猜数游戏的部分代码,为什么会输入40显示大了,输入39显示小了
-
Scanner in = new Scanner(System.in); { for(int j = 1 ; j< 8; j++){ System.out.println(""请输入一个整数:""); int value = in.nextInt(); int ran = (int)(Math.random()*100)+1; if (value > ran){ System.out.println(""大了""); } else if (value < ran){ System.out.println(""小了""); } else if (value == ran){ System.out.println(""恭喜你猜对了!你的战斗力是""+j+""%"");} }
解决方案
下边这句代码提到for循环前边
int ran = (int) (Math.random() * 100) + 1;
要不每次输入值的时候,这个值都是会重新变化的
解决方案二:
把随机生成数放到for循环外面,不然每循环一次都重新随机生成一个数 Scanner in = new Scanner(System.in); int ran = (int)(Math.random()*100)+1; { for(int j = 1 ; j< 8; j++){ System.out.println(""请输入一个整数:""); int value = in.nextInt(); if (value > ran){ System.out.println(""大了""); } else if (value < ran){ System.out.println(""小了""); } else if (value == ran){ System.out.println(""恭喜你猜对了!你的战斗力是""+j+""%"");} }
解决方案三:
不要放在for循环内部
解决方案四:
猜的数字应该是固定的
解决方案五:
你这样写 每次比较的随机数都是不一样的
时间: 2024-12-02 16:47:40