0

The code below compiles and does its job, however lets say I needed to added another 100 if statements. Whats the most efficient way to write multiple if statements?

public String getBattle(int num)
    {   
        if (num == (1)){
            setupBattles();
            System.out.println(BattleDetails.get(0));
        }else if (num == (2)){
            setupBattles();
            System.out.println(BattleDetails.get(1));  
        }else if (num == (3)){
            setupBattles();
            System.out.println(BattleDetails.get(2));
        }else if(num == (4)){
            setupBattles();
            System.out.println(BattleDetails.get(3));
        }else if (num == (5)){
            setupBattles();
            System.out.println(BattleDetails.get(4));
        }else if (num == (6)){
            setupBattles();
            System.out.println(BattleDetails.get(5));
        }else if (num == (7)){
            setupBattles();
            System.out.println(BattleDetails.get(6));
        }else if (num == (8)){
            setupBattles();
            System.out.println(BattleDetails.get(7));
        }else{
        return "No such battle";
       
    }
        return BattleDetails.toString();
    }
0

1 Answer 1

2

Observe the pattern that every branch uses the number 1 below the number used in the condition

if (num >= 1 && num <= 8) {
    setupBattles();
    System.out.println(BattleDetails.get(num - 1));
}
else {
    return "No such battle";
}
Sign up to request clarification or add additional context in comments.

3 Comments

perfect, however how would you do it for String (code above)
@Abbas that's a different question. Please accept this answer and create a new question
@Reimeus will do

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.