判断值相同

判断用户输入的数字与系统随机选择的数字有多少个是值相同的,以及有多少个数字是值相同,且顺序也相同的。

package test;
import java.util.*;
public class test {
    private int[] systemData=new int[4];
    private int[] userData=new int[4];
    
    public test(){
        createSystemData();
        setUserData();
    }
    
    public void setUserData(){
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入0-9之间的4个数字");
        for(int i=0;i<userData.length;i++)
            userData[i]=scan.nextInt();
    }
    
    public void createSystemData(){
        Random generator=new Random();
        while(true){
            int a=generator.nextInt();
            int b=generator.nextInt();
            if(a==b) continue;
            int c=generator.nextInt();
            if(a==c||b==c) continue;
            int d=generator.nextInt();
            if(a==d||b==d||c==d) continue;
            systemData[0]=a;
            systemData[1]=b;
            systemData[2]=c;
            systemData[3]=d;
            break;
        }
    }
    
    public int GuessA(){
        int count=0;
        for(int i=0;i<systemData.length;i++){
                if(systemData[i]==userData[i])
                    count++;
        }
        return count;
    }
    
    public int GuessB(){
        int count=0;
        for(int i=0;i<systemData.length;i++){
            for(int j=0;j<userData.length;j++)
                if(systemData[i]==userData[j])
                    count++;
        }
        return count;
    }
    
    public void print(){
        int a=GuessA();
        int b=GuessB();
        System.out.print(a+"A"+b+"B");
    }
    
    public static void main(String arg[]){
        test te=new test();
        te.print();
    }

}
原文地址:https://www.cnblogs.com/ljs-666/p/8053590.html