スペースで区切られた 1000 行の乱数を含むファイルを作成しようとしています。これは、宝くじの数字をシミュレートするためのものです。6 int の配列で 6 つの数値の組み合わせを処理するクラスを作成します。
class cTicket
{
//Propiedades
private volatile int[] p_nums;
//Constructor
public cTicket()
{
}
//Metodos
public void setTicket(int[] o_nums)
{
p_nums = o_nums;
}
public int[] getTicket()
{
return p_nums;
}
}
私が言ったように、ランダムに選択された6つの数字の配列で1000行の組み合わせを作成する必要があります。したがって、コードのある時点で、次のようなものが得られました。
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < 1000; i++) // Bucle de 1,000 combinaciones
{
objTicket.setTicket(objGenerador.generaNumero());
//MessageBox.Show(integerArrayString(objTicket.getTicket()));
write.WriteLine(i + integerArrayString(objTicket.getTicket()));
}
write.Close(); // Cierra operacion de escritura del archivo
}
しかし、この部分はまったく機能していません。6つの数字の同じ組み合わせを何度も繰り返します。変更はプロセス全体の 3 倍程度です。もう 1 つのことは、出力をメッセージ ボックスに入れると完全に機能することです。しかし、ファイルに書き込もうとしたときではありません。
誰かが私の問題を解決してくれることを願っています。
ありがとう。
こんにちは、ありがとうございます。以下の投稿を読んでより多くのドキュメントを入手した後、私は問題の種にたどり着きました。
public int[]generaNumero() {
Random obj = new Random();
int v_idx;
for (int x = 0; x < 6; x++)
{
v_idx = x;
v_array[x] = obj.Next(1, 38);
while (v_idx >= 0)
{
if (v_array[x] == v_array[v_idx])
{
v_array[x] = obj.Next(1, 38);
v_idx = x;
}
v_idx--;
}
}
return v_array;
「Random obj = new Random();」というインスタンスを実行した場合、単純に行を削除します。この方法から、今では完璧に機能しています。
どうもありがとう。