没有大神可以用java实现这个算法

图片说明
输入一次数据 然后 统计按规律的打对号 不按规律的打错号 每五分钟输入一次 统计12个小时内的对号和错号的个数。
第一个规律,如果1这个数字左边的数字有 1、5、6、10,其中的一个,那么就打个对号 这十个规律是分开的 每输入一组数据要统计十次。这里的左边是紧挨着的左边。比如这个图片最下面一行的数字,对于上面十个规律来说,他只满足六个,也就是如果我输入图片最后一行的数字 输出的是六个对号四个错号。

你的意思我看懂了,但是你举的例子最后一行数字按照你的规律说,答案是错的。(六个对号四个错号),按照你的规律来说,应该是两个错,八个对。
3:234789 交集 null = null 叉
9:15610 交集 3 = null 叉
5:234789 交集 39 = 39 勾
2:234789 交集 395 = 39 勾
4:234789 交集 3952 = 239 勾
8:234789 交集 39524 = 2349 勾
1:15610 交集 395248 = 5 勾
7:15610 交集 3952481 = 15 勾
10:234789 交集 39524817 = 234789 勾
6:15610 交集 3952481710 = 1510 勾
你先确定一下这个规律是不是对的,如果确定了规律,出JAVA的算法很容易


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;

public class Myclass01 {

    private HashMap<Integer,List<Integer>> map = new HashMap<Integer, List<Integer>>();

    public static void main(String[] args) {
        new Myclass01();
    }

    public Myclass01() {
        System.out.print("请自行输入一串数字(0代表10):");
        Scanner scan = new Scanner(System.in);
        String read = scan.nextLine();
        if(!read.matches("\\d+")){
            System.out.println("输入的必须都是数字!");
            return;
        }
        char[] ch = read.toCharArray();
        int [] nums_input = new int[ch.length];
        for (int i = 0; i < ch.length; i++) {
            nums_input[i] = Integer.parseInt(String.valueOf(ch[i]));
        }
        initialization();
        List<Integer> nums_input_list = new ArrayList<Integer>();
        for (int i = 0; i < nums_input.length; i++) {
            int num = nums_input[i];
            nums_input_list.add(num);
        }
        for (int i = 0; i < nums_input_list.size(); i++) {
            int num = nums_input_list.get(i);
            if(num==0){
                num = 10;
            }
            List<Integer> nums_list = map.get(num);
            if(i==0){
                System.out.println(num+":×");
            }else{
                int before = nums_input_list.get(i-1);
                if(nums_list.contains(before)){
                    System.out.println(num+":√");
                }else{
                    System.out.println(num+":×");
                }
            }

        }
    }

    private int[] getRandomNum(int count) {
        // TODO 自动生成的方法存根
        int[] nums = new int[count];
        for (int i = 0; i < count; i++) {
            nums[i] = (int)(1+Math.random()*(10-1+1));
        }

        return nums;
    }

    private void initialization() {
        List<Integer> nums_1 = new ArrayList<Integer>();
        nums_1.add(1);
        nums_1.add(5);
        nums_1.add(6);
        nums_1.add(10);
        List<Integer> nums_2 = new ArrayList<Integer>();
        nums_2.add(2);
        nums_2.add(3);
        nums_2.add(4);
        nums_2.add(7);
        nums_2.add(8);
        nums_2.add(9);

        map.put(1,nums_1);
        map.put(2, nums_2);
        map.put(3, nums_2);
        map.put(4, nums_2);
        map.put(5, nums_2);
        map.put(6, nums_1);
        map.put(7, nums_1);
        map.put(8, nums_2);
        map.put(9, nums_1);
        map.put(10, nums_2);
    }

}

运行结果是:
3:×
9:×
5:√
2:×
4:√
8:√
1:×
7:√
10:√
6:√

我可以说我根本就没有看懂你说的是什么规律嘛……你把规律用1、2、3…这种罗列的方式总结一下

以前学过,但我好像忘了:)