Есть ли способ продолжать повторять ArrayList. как arraylist имеет 12, но он будет продолжать считать при использовании того же списка - PullRequest
0 голосов
/ 21 ноября 2019

Я рассчитываю этот знак зодиака с использованием% 12, но я хочу создать это без этого, но я не могу понять, есть ли способ сохранить его при повторении того же списка?

Вот код,спасибо

    Scanner scan = new Scanner(System.in);

    String ans=null;        
    System.out.print("Enter your Birth Year: ");
    int birthYear= scan.nextInt();
    do{
        String[] sign = {"Monkey", "Rooster", "Dog", "Pig", "Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Sheep"};
        for(int i=0; i<sign.length; i++){
            ans=sign[birthYear];
        }

    }while(ans==null);
    System.out.println("Your Zodiac Sign is: "+ans);

1 Ответ

0 голосов
/ 21 ноября 2019

Первой вашей проблеме не нужно повторять все годы, чтобы найти знак. Вы можете использовать оператор модуля поиска эквивалентного года и после того, как вы можете получить прямой доступ к знаку из массива.

    Scanner scan = new Scanner(System.in);

    String ans = null;
    System.out.print("Enter your Birth Year: ");

    String[] sign = {"Monkey", "Rooster", "Dog", "Pig", "Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Sheep"};
    int birthYear = scan.nextInt();
    do {

        int mod = birthYear % 12;
        ans = sign[mod];

    } while (ans == null);
    System.out.println("Your Zodiac Sign is: " + ans);
...