クラス (データ クラス) のオブジェクトを格納する配列クラスを作成しようとしています。次に、配列は、ソート/検索アルゴリズム クラスによってソート/検索されます。オブジェクトを作成して配列クラスに格納しようとすると、少し問題が発生します。
これが私のコードです:
これは私のデータ クラスです。このクラスによって生成される値変数は乱数であり、データの配列の並べ替えに使用されます。値変数は、ユーザーが指定した入力の範囲内にあるランダムに生成された数値です。
公開クラス データ {
private int value;
private int counter;
private static int LastCounter = 0;
InputClass ValueRange;
Random ValGen = new Random();
public Data() {
value = ValGen.nextInt(ValueRange.getNumRange());
counter = LastCounter+1;
}
public int getValue() {
return value;
}
public int getCounter() {
return counter;
}
}
これは私の入力クラスです。配列の制約を与えるためにユーザーからの入力を受け取ります。パラメータを設定するために arrSize() と ranNumRange() が呼び出されます。
パブリッククラスInputClass {
int NumRange;
int DataSetSize;
Scanner user = new Scanner(System.in);
public void arrSize() {
System.out.println("Enter the size of the array: ");
DataSetSize = user.nextInt();
}
public void ranNumRange() {
System.out.println("Enter the range of random numbers: ");
NumRange = user.nextInt();
}
public int getArrSize() {
return DataSetSize;
}
public int getNumRange() {
return NumRange;
}
}
最後のクラスは、配列クラスを最適に実装する方法に迷っているため、未完成です。コンストラクターは配列を初期化し、ユーザーが入力した配列のサイズを設定します。addData メソッドは配列を調べて、新しいデータを配列に追加します。addData メソッドが機能すると、getSize() は配列のサイズを返すだけです。
public class ArrayClass は Array {
InputClass arrInput;
Data[] arr;
int size;
public ArrayClass() {
arr = new Data[arrInput.getArrSize()];
}
@Override
public void addData(Data newData) {
// TODO Auto-generated method stub
for (int i = 0; i < arr.length-1; i++)
arr[i] = new Data();
}
@Override
public int getSize() {
// TODO Auto-generated method stub
return 0;
}
}
助けてくれてありがとう。