如题,是一个猜数字的程序,我在调用函数inputvalue和主函数上都有输入y值,怎么避免这种情况?packagezuoye2;importjava.util.Random;importjava.util.Scanner;publicclasscaishuzi{...
如题,是一个猜数字的程序,我在调用函数inputvalue和主函数上都有输入y值,怎么避免这种情况?
package zuoye2;
import java.util.Random;
import java.util.Scanner;
public class caishuzi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random random = new Random(); /* 随即赋值给x */
int x = random.nextInt(100);
int i = 20;
int num = 0;
int a;
boolean cοninput=true;
while(coninput){
try {
a = inputVaule(input);
cοninput=false;
} catch (Exception e ) {
System.out.println("输入数据不能为除了数字以外的数据且不能>99和<0");
input.nextLine();
}
}
while(true){
if (num < i) {
int y = input.nextInt();
if (y > x) {
System.out.println("大了,请继续");
num++;
} else if (y < x) {
System.out.println("小了,请继续");
num++;
} else {
num++;
System.out.println("恭喜你,猜对了。一共猜了" + num + "次");
break;
}
}else{
System.out.println("超过20次啦,没机会了,好可惜");
break;
}
}
if(num<=10){
System.out.println("你太聪明了,这么快就猜出来了!");
}else if(num>10&&num<=20){
System.out.println("同志仍需努力!");
}else{
System.out.println("???");
}
}
private static int inputVaule(Scanner input) {
// TODO Auto-generated method stub
System.out.println("请输入1个0-99的整数进行猜测:");
int y = input.nextInt();
if(y<0||y>99){
throw new IndexOutOfBoundsException("cannot be 0");
}else{
return y;
}
}
}
展开