1

クラス (データ クラス) のオブジェクトを格納する配列クラスを作成しようとしています。次に、配列は、ソート/検索アルゴリズム クラスによってソート/検索されます。オブジェクトを作成して配列クラスに格納しようとすると、少し問題が発生します。

これが私のコードです:

これは私のデータ クラスです。このクラスによって生成される値変数は乱数であり、データの配列の並べ替えに使用されます。値変数は、ユーザーが指定した入力の範囲内にあるランダムに生成された数値です。

公開クラス データ {

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;
}

}

助けてくれてありがとう。

4

0 に答える 0