我只是想開始說我在過去的3個小時裏一直在搜索這個(還有一些其他的)網站而無濟於事,我已經閱讀了每篇關於我的主題的文章,不適用或者我不太明白髮生了什麼。獲取隨機數生成器以在選擇完成後刪除選擇? JAVA
我有2個問題。
我似乎無法得到隨機數生成器放棄一旦做出選擇。
我的第二個問題是每個比賽只能有一個六分的輪次,而我似乎無法弄清楚如何將它限制在一個具有6分輪次的特定約束條件下。
該計劃旨在模擬挑選跳傘比賽的跳躍。有三個獨立的比賽,分別是(A,AA,AAA)(難度水平,某些動作沒有出現A或 AA,AAA是全包括的),用戶可以從中挑選以及 個人比賽是否是6或10輪(A將 總是6輪)。一旦用戶選擇了比賽並且輪次數爲 ,則該程序應該輸出每個回合完成的個人動作 以及 回合的分數(對於所有6輪或10輪的比賽)。這裏是 我的第一個問題在於:
一旦移動被選中,它不能被 用於其餘的比賽。我不能爲我的生活找出如何做到這一點。
移動的,有兩個分開的 類別得分中,編號的移動(1-22在我 程序)和字母移動(23以上),在編號是值得 2點和字母是值得1.每輪都是5分或6分
我這個問題是因爲那裏有一個6點的輪,它只能由3個編號的動作組成,其他 組合是可以接受的;並補充,只能有 是一個六點輪比賽的全部。*
for(int i=0; i < round; i++)
{
System.out.printf("\nRound %d:\n", i+1);
point = 0;
while(point < 5)
{
pickedRandom=false;
formation = myRandom.nextInt(38) + 1;
while(formation == 31)
{
formation = myRandom.nextInt(38) + 1;
}
if(point == 4 && pickedRandom && formation < 23)
{
while(formation < 23)
formation = myRandom.nextInt(38) + 1;
}
if(formation < 23)
{
point+=2;
}
else
{
pickedRandom=true;
point++;
}
formationRound.set(formation, true);
if(formation > 22)
System.out.printf(" %s %s ",randomLetter(formation), formationName(formation));
else
System.out.printf(" %d %s", formation, formationName(formation));
}
System.out.println();
System.out.printf(" %s \n", point);
}
}
一段文字講故事 - 沒問題 - 不知道你的代碼出了什麼問題請參閱[請添加一個最小的,完整的和可驗證的例子](https://stackoverflow.com/help/mcve) 和https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –
歡迎來到SO。對於某人來說,這是一個很長的描述。你是否通過調試器運行你的代碼?這是第一件要做的事情。 – OldProgrammer
假設您使用相關的代碼段而不是整個塞納里奧以最簡單的描述發佈您的問題。 –