私はcs 2010クラスにいます。これまでコーディングに取り組んだことはありません。私には大丈夫な先生がいますが、理解するのが難しい非常に厚いアクセントを持っています. 彼は最近、数日かけて完成させるプロジェクトを私たちにくれました。プロジェクトの最後の部分を完了するのに問題がありました。
このプロジェクトでは、0 ~ 9999 の範囲で 10,000 個の乱数を生成し、それらを繰り返さずに 10,000 個の数字の配列に配置するよう求めています。ご覧のとおり、これは基本的に、配列に 0 ~ 9999 の数値を最小から最大の順に配置するように求めています。私の問題は、繰り返されない数字です。私はコードを繰り返さないようにする方法を見つけようとして4時間以上コードに取り組んできましたが、運がありませんでした。オンラインで少なくとも 1 時間検索しましたが、他のすべてのヒントや解決策は役に立ちませんでした。これは私がこれまでに持っているコードです。誰か助けてもらえますか?
package array.sorter.project;
import java.util.Arrays;
import java.util.Random;
public class Sorting {
public static void main(String args[]){
int[] randomNumbers = new int[10000];
Random rand = new Random();{
for (int i = 1; i < randomNumbers.length; i++) {
int n = rand.nextInt(10000);
randomNumbers[i] = n;}
for (int i = 0; i < randomNumbers.length; i++) {
int smallestNo = randomNumbers[i];
int posWithSmallest = i;
for (int j = i+1; j < randomNumbers.length; j++) {
int val = randomNumbers[j];
if (val < smallestNo) {
smallestNo = val;
posWithSmallest = j;
}
}
int tmp = randomNumbers[i];
randomNumbers[i] = smallestNo;
randomNumbers[posWithSmallest] = tmp;
}
Arrays.sort(randomNumbers);
for (int i = 0; i < randomNumbers.length; i++) {
System.out.println("Position " + i + " : " + randomNumbers[i]);
}
}
}
}