已知以下要求,用Java代码如何求出这四个数?

已知: 3 6 2 8 一个数字正确,且位置正确
           7 0 1  9 两个数字正确,其中一个位置正确,另个位置不正确
           1 4 2 9  一个数字正确,且位置不正确 
           4 5 7 6  一个数字正确,且位置正确 
       程序实现输出这四个数。 

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。

首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、安装包资源发送或安装、软件使用指导等服务。

我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

package com.xrx.demo;

public class LookPassword {
public static void main(String[] args) {
int[] a1 = {3, 6, 2, 8};
int[] a2 = {7, 0, 1, 9};
int[] a3 = {1, 4, 2, 9};
int[] a4 = {4, 5, 7, 6};
password(a1, a2, a3, a4);
}
public static void password(int[] a1, int[] a2, int[] a3, int[] a4) {
int a, b, c, d, k1, k2_1, k2_2, k3, k4;
//随机生成每一位都不同的密码
for (int i1 = 0; i1 <= 9; i1++) {
a = i1;
for (int i2 = 0; i2 <= 9; i2++) {
if (i2 == i1) continue;
b = i2;
for (int i3 = 0; i3 <= 9; i3++) {
if (i3 == i1 || i3 == i2) continue;
c = i3;
for (int i4 = 0; i4 <= 9; i4++) {
if (i3 == i4 || i4 == i2 || i1 == i4) continue;
d = i4;
k1 = 0;
//一个号码正确且位置也正确
for (int i = 0; i < a1.length; i++) {
if (a == a1[i] && i != 0) k1 -= 10;
if (b == a1[i] && i != 1) k1 -= 10;
if (c == a1[i] && i != 2) k1 -= 10;
if (d == a1[i] && i != 3) k1 -= 10;
if (a == a1[i] && i == 0) k1++;
if (b == a1[i] && i == 1) k1++;
if (c == a1[i] && i == 2) k1++;
if (d == a1[i] && i == 3) k1++;
}
k2_1 = 0;
k2_2 = 0;
//两个密码正确,一个位置正确一个位置不正确
for (int i = 0; i < a2.length; i++) {
if (a == a2[i] && i == 0) k2_1++;
if (b == a2[i] && i == 1) k2_1++;
if (c == a2[i] && i == 2) k2_1++;
if (d == a2[i] && i == 3) k2_1++;
if (a == a2[i] && i != 0) k2_2++;
if (b == a2[i] && i != 1) k2_2++;
if (c == a2[i] && i != 2) k2_2++;
if (d == a2[i] && i != 3) k2_2++;
}
k3 = 0;
//一个密码正确,位置不正确
for (int i = 0; i < a3.length; i++) {
if (a == a3[i] && i == 0) k3 -= 10;
if (b == a3[i] && i == 1) k3 -= 10;
if (c == a3[i] && i == 2) k3 -= 10;
if (d == a3[i] && i == 3) k3 -= 10;
if (a == a3[i] && i != 0) k3++;
if (b == a3[i] && i != 1) k3++;
if (c == a3[i] && i != 2) k3++;
if (d == a3[i] && i != 3) k3++;
}
k4 = 0;
//一个密码正确位置正确
for (int i = 0; i < a4.length; i++) {
if (a == a4[i] && i != 0) k4 -= 10;
if (b == a4[i] && i != 1) k4 -= 10;
if (c == a4[i] && i != 2) k4 -= 10;
if (d == a4[i] && i != 3) k4 -= 10;
if (a == a4[i] && i == 0) k4++;
if (b == a4[i] && i == 1) k4++;
if (c == a4[i] && i == 2) k4++;
if (d == a4[i] && i == 3) k4++;
}
//所有的都正确
if (k1 == 1 && k4 == 1 && k3 == 1 && k2_2 == 1 && k2_1 == 1) {
System.out.println(a + "" + b + "" + c + "" + d);
}
}
}
}
}
}
}