我確切地知道發生了什麼,但無法弄清楚我的生活,我已經脫離了編程一段時間,所以原諒醜陋的代碼..for循環顯示2,然後3結果?
幾乎我試圖做一個「挑帽子」概念的名字......我想有隨機‘匹配’選擇 但我會表現出一定的時間:
Harry v Kwok
Matthew v Lewis
James v Ceri
那麼別人是:
Ceri v James
Kwok v Harry
import java.util.*;
public class hatpicking {
public static void main(String[] args) {
//Links one value to other--- eg. 0 = ceri, 1 = Harry
HashMap<Integer, String> map = new HashMap<Integer, String>();
map.put(0, "Ceri");
map.put(1, "Harry");
map.put(2, "Matthew");
map.put(3, "Lewis");
map.put(4, "Kwok");
map.put(5, "James");
int HashmapValue = 6;
//For loops that only makes 3 fixtures
for(int i=1; i<20; i++){
//Generates 2 Random Numbers
int first = (int) (Math.random() * HashmapValue);
int second = (int)(Math.random()* HashmapValue);
//Assigns the 2 numbers to the hashmap values
String val1 = (String)map.get(first);
String val2 = (String)map.get(second);
if(val1 != null && val1 != val2 && val2 != null){
map.remove(first);
map.remove(second);
//prints Fixtures
System.out.println(val2 + " v " + val1);
}
}
}
}
究竟是什麼問題?發生了什麼,你不指望? –
據推測,有時'val1 == val2'並且該條目被跳過。 –
'val1'和'val2'是字符串,您應該用'.equals()'比較它。並嘗試提供[MCVE](http://stackoverflow.com/help/mcve)。 –