我正在制定一个计划,告诉我选举团中所有可能的关系(仅限摇摆州)。我认为所有非摆动状态都是正常投票的方式(红色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();
}