Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较Java中两个不同数组中的每个数字?_Java_Arrays_Int - Fatal编程技术网

比较Java中两个不同数组中的每个数字?

比较Java中两个不同数组中的每个数字?,java,arrays,int,Java,Arrays,Int,我真的需要一些帮助 所以基本上我正在编写一个叫做MoreLess的小游戏。游戏将由3种不同的模式组成。事实上,我被困在第一个名为“挑战者”的mod上。对于这个模块,我已经创建了2个方法。第一种方法考虑了用户输入(0和9之间的4位数字)和第二种方法(随机生成的4位数字)。现在我需要比较每个数字的这两个值。对于每个数字,我需要打印一些东西。如果数字较大='+',如果较小='-'否则'=' public static int[] pProposition() { Scanner clavier

我真的需要一些帮助

所以基本上我正在编写一个叫做MoreLess的小游戏。游戏将由3种不同的模式组成。事实上,我被困在第一个名为“挑战者”的mod上。对于这个模块,我已经创建了2个方法。第一种方法考虑了用户输入(0和9之间的4位数字)和第二种方法(随机生成的4位数字)。现在我需要比较每个数字的这两个值。对于每个数字,我需要打印一些东西。如果数字较大='+',如果较小='-'否则'='

public static int[] pProposition() {
    Scanner clavier = new Scanner(System.in);
    System.out.println("Veuillez saisir votre proposition à 4 chiffres entre 0 et 9");
    String saisi = clavier.nextLine();
    if (saisi.length() != 4 || saisi.replaceAll("\\D", "").length() != 4) {
        System.out.println("Vous avez saisi un nombre incorrect. Vous devez saisir un nombre de 4 chiffres entre 0 et 9" );
    }
    int[] proposition = new int[4];
    for (int i = 0; i < 4; i++) {
        proposition[i] = Integer.parseInt(String.valueOf(saisi.charAt(i)));
    }
    return proposition;
}

public static int[] genNumHasard() {
    int[] combSecrete = new int[4];
    for (int i = 0; i < combSecrete.length; i++) {
        combSecrete[i] = (int) (Math.random() * 9 + 0);
    }
    return combSecrete;
}

public static int[] joueUnTour () {
    int valeurComparaison = PlusOuMoins.pProposition().compare
    if (PlusOuMoins.pProposition() > PlusOuMoins.genNumHasard()) ;
    {

    }
公共静态int[]pProposition(){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“Veuillez saisir votre提案4 chiffres entre 0 et 9”);
字符串saisi=clavier.nextLine();
如果(saisi.length()!=4 | | saisi.replaceAll(“\\D”,“”“).length()!=4){
系统输出打印(“您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确,您的名字不正确。”;
}
int[]命题=新int[4];
对于(int i=0;i<4;i++){
命题[i]=Integer.parseInt(String.valueOf(saisi.charAt(i));
}
回归命题;
}
公共静态int[]genNumHasard(){
int[]combsecret=新int[4];
for(int i=0;iPlusOuMoins.gennumhasar());
{
}

如果我能清楚地理解你的意思,这就是你想要的

 public static void compareNums(){

   int [] firstArr = pProposition();
   int [] secondArr = genNumHasard();

   for(int i=0;i<firstArr.length;i++){//Assuming array lenghts are same

       if(firstArr[i]>secondArr[i])
          System.out.println("For "+i+"th number result is"+" +");
       else if(firstArr[i]<secondArr[i])
          System.out.println("For "+i+"th number result is"+" -");
       else
          System.out.println("For "+i+"th number result is"+" =");
   }

}
publicstaticvoidcomparenums(){
int[]firstArr=pProposition();
int[]secondArr=gennumhasar();
for(int i=0;IseCondar[i])
System.out.println(“对于“+i+”,第个数字结果为“+”+”;

否则,如果(firstArr[i]您只需要比较两个数组,如果您可以使用Java 8和Guava,请尝试以下代码:

public static void compareArrays(int[] arr1, int[] arr2) {
    Streams.zip(Arrays.stream(arr1).boxed(), Arrays.stream(arr2).boxed()
            , (integer, integer2) -> integer - integer2 == 0 ? "=" : integer - integer2 > 0 ? "+" : "-")
            .forEach(s -> System.out.println(s));
}

那么你的问题是什么呢?为什么要用数组来存储独立的数字呢?如果你把所有的4个数字都存储在一个整型变量中,那就很容易了。你已经发布了很多(或全部)您需要具体说明您是什么堆栈、您尝试了什么以及您需要什么帮助。否则,我们不知道如何帮助您。您最好先将两个数组存储在两个
int[]类型的局部变量中
。然后,您可以使用循环单步遍历其中一个数组,并将该数组中的每个项目与另一个数组中的相应项目进行比较。虽然有这样的想法,但结果并不准确。我没有得到准确的返回值。如果我输入一个随机的4位数字,比如说4562,而随机数是8563,我将得不到+(4<8),=(5==5),=(6==6),+(2随机值数组在键盘输入后发生变化