Java四位数猜数字游戏

09
Apr

Java四位数猜数字游戏

一、项目:Java四位数猜数字游戏

二、项目目的:

1、掌握随机数生成;
2、掌握字符串匹配的方法。

三、项目原理:

四、项目仪器:eclipse

五、项目内容与步骤:

自动生成一个随机数,用户输入要猜的数,用Y、S、N三个字母反馈答案。
Y表示位置正确数字正确,S表示数字正确位置不对,N表示位置错误数字错误。

六、项目代码如下

import java.util.Scanner;
import java.util.Random;
public class Test13 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random rns = new Random();
        Scanner input=new Scanner(System.in);
        int[] r= new int[4];
        while(true){//生成随机数
            for(int i=0;i<4;i++)
                r[i] = rns.nextInt(9);
            if(r[0]!=r[1]&r[0]!=0&r[0]!=r[2]&r[0]!=r[3]&r[1]!=r[2]&r[1]!=r[3]&r[2]!=r[3]) 
                break;
        }
        String A=r[0]*1000+r[1]*100+r[2]*10+r[3]+"";//记录随机数
//        System.out.println(A);//测试用(输出正确数字)
        while(true){
            System.out.println("请输入你要猜的数字:");
            String S=input.next();
            if(S.equals(A)){//全对,游戏结束!
                System.out.println("YYYY");
                System.out.println("你猜对了,游戏结束!");
                break;
            }
            if(S.length()!=4){//判断数字长度
                System.out.println("格式错误,请输入四位数字");
//                break;
            }
            else {
                for(int i=0;i<4;i++){//逐字判断
                    if(S.charAt(i)==A.charAt(i)){
                        System.out.print("Y");
                    }
                    else if(A.indexOf(S.substring(i,i+1))+1!=0)//查找判断
                        System.out.print("S");
                    else System.out.print("N");
                }
                System.out.println("");//换行
            }
        }
    }
}

添加新评论