我如何测试所有变化?

时间:2016-11-23 00:07:51

标签: java recursion

我正在制定一个计划,告诉我选举团中所有可能的关系(仅限摇摆州)。我认为所有非摆动状态都是正常投票的方式(红色201,蓝色164)。

所以我现在拥有的是一个HashMap状态,它将状态名称作为键,并将它们各自的投票数量作为值。

我如何编写一个可以测试每种可能性的递归方法,当有一个平局时,打印出一个列表,其中哪些州投票为红色,哪些州投票为蓝色。

我只需要有人指导我如何解决这个问题。我根本不知道从哪里开始。到目前为止,这几乎就是我所有的一切:

public class ElectoralCollege {

private HashMap<String, Integer> states;
private int red;
private int blue;
private ArrayList<String> redStates;
private ArrayList<String> blueStates;

public ElectoralCollege(){
    states = new HashMap<>();        
    loadStates();
    setDefaultVotes();
}

private void loadStates(){
    states.put("Florida", 29);
    states.put("Pennsylvania", 20);
    states.put("Ohio", 18);
    states.put("Georgia",16);
    states.put("Michigan",16);
    states.put("North Carolina",15);
    states.put("Virginia", 13);
    states.put("Arizona", 11);
    states.put("Wisconsin",10);
    states.put("Colorado",9);
    states.put("Nevada",6);
    states.put("Iowa",6);
    states.put("New Hampshire", 4);   
}

private void setDefaultVotes(){
    red = 201;
    blue = 164;
}

public void printTies(){
    if(red == 269 && blue == 269){
        System.out.println("Red: " + redStates);
        System.out.println("Blue: " + blueStates);
    }

    //Implement the part that makes each state blue and makes each state red?

    if(red < 269 && blue < 269)
        printTies();
}

0 个答案:

没有答案