java实验之猜数游戏

时间:2021-08-26 08:09:09

 猜数游戏,要求:

(1)编写一个方法用于产生1-1000之间的随机数;

(2)编写一个方法用于完成两个数的比较,参数(随机数,用户提供的数字),返回值:

>0 用户提供的数字比随机数大

=0 用户提供的数字跟随机数一样大

<0 用户提供的数字比随机数小

(3)编写一个测试方法,为用户提供猜数字游戏过程。

程序扩展一:每次猜数结果如果不对,则提示猜大了还是猜小了,最多可以猜10次。

程序扩展二:一次猜数结束,可以让用户选择是继续下一轮游戏还是退出。

package random;
import java.util.Scanner;
import java.util.Random;
public class l {
public static void main(String args[]){
int random,fate,z1,z2;
random=random();
for(int i=1;i<=10;i++){
System.out.println("请输入一个数(1~1000):");
fate=getInput();
z1=compare(random,fate);
display(z1);
if(z1==0)
break;
if(i==10){
System.out.println("机会已用尽!");
break;
}
if(i<10)
System.out.println("还剩"+(10-i)+"次机会!");
if(i<10){
System.out.println("输入0退出,输入其它数继续!");
z2=getInput();
if(z2==0)
break;
}
}

}
public static int random(){ //生成随机数
int max=1001;
int min=1;
Random random=new Random();
int sr=random.nextInt(max)%(max-min+1) + min;
return sr;
}
public static int getInput(){ //输入数据
Scanner scan=new Scanner(System.in);
int ss=0;
ss=scan.nextInt();
return ss;
}

public static int compare(int i,int j){ //比较大小
if(i<j)
return 1;
else if(i==j)
return 0;
else
return -1;
}
public static void display(int i ){ //显示结果
switch(i){
case 1:System.out.print("数字偏大!");break;
case 0:System.out.print("恭喜你猜对了!");break;
case -1:System.out.print("数字偏小!");break;
}
}
}