Несогласованный результат - PullRequest
1 голос
/ 28 мая 2020

Код, над которым я работал, не работает в 100% случаев. Я продолжаю заставлять программу пытаться создать несколько целых чисел для одного целого числа в массиве. В результате мне нужен штифт с номером. Когда я запускаю программу, иногда число - это то, что распечатывается, а в других случаях программа решает не равняться тому, что было напечатано ранее.

Например, это результат
Pin: 0 1 2 3 4 5 6 7 8 9
Число: 2 2 3 2 3 2 3 2 1 3
Введите пароль Код 32345
Пароль должен быть 23232

Однако этот ответ может или не может работа.

import java.util.*;
import java.text.*;
import java.lang.*;
public class Authenticate_TylerD {
public static void main(String[] args){
    Scanner scan = new Scanner (System.in);

    //arrays
    int[] pin = {3, 2, 3, 4, 5};
    int[] num = new int[10];
    int userIn;
    int[] userIn2 = new int [5];

    //Numbers for pin
    System.out.println("Pin: 0 1 2 3 4 5 6 7 8 9");
    System.out.print("Num: ");

    //shou
    for(int i = 0;i<=9;i++){
            num[i] = (int)(Math.random()*3)+1;
            System.out.print(num[i] + " ");
        for(int j=0;j<5;j++){
            if(i == pin[j]){
                pin[j] = num[i];
                //System.out.print(num[i] + "<-- RanNum ");
            }
            else{
                continue;
            }
        }
    }
    System.out.println("\n------------------------------");
    System.out.println("Enter the password");
    userIn = scan.nextInt();

    for(int i = 4;i>=0;i--){
        userIn2[i] = userIn%10;
        userIn = userIn/10;
        System.out.print(pin[i]);
        System.out.print(userIn2[i]);

        if(userIn2[i] != pin[i]){
            System.out.print("\nIncorrect PIN");
            System.exit(0);
        }
        else{
            System.out.print("Correct PIN ");
        }
    }
}
}

Любая помощь будет принята с благодарностью. PS Нет ru sh, чтобы ответить на этот вопрос, напишите, когда у вас будет такая возможность.

...