저는 현재 학교 과제가 있습니다. 주로 개체 지향 프로그래밍 & 컬렉션을 사용합니다.이전 개체 데이터를 사용하여 연속 개체 생성
나는 그러나 나는 난관에 충돌 한 것, 이것의 대부분이 수행하는 방법을 알고 은 다음 옵니다로 출력하는 List<T>
&에서 그들을두고, 10 개체를 만드는, 그래서 내 프로그램을 코딩.
잘 작동하지만 어떤 이유로 인해 (pseudo) 무작위로 있어야하지만 모든 단일 객체는 동일한 정확한 값을 수신합니다. 여기
public class Boom
{
public static int aantalBomen = 0;
public enum boomType { Naald, Loof }
public boomType BoomType { get; set; }
public int VolgNr { get; set; }
private int aantalVogels;
public int AantalVogels
{
get { return aantalVogels; }
set
{
if (value >= 0 && value <= 10)
aantalVogels = value;
}
}
public Eekhoorn Eekhoorn { get; set; }
private int hoogte;
public int Hoogte
{
get { return hoogte; }
set
{
if (value >= 5 && value <= 10)
hoogte = value;
}
}
public bool eekHoorn = false;
public Boom()
{
aantalBomen++;
VolgNr = aantalBomen;
Random rnd = new Random();
Hoogte = rnd.Next(5, 11);
AantalVogels = rnd.Next(0, 11);
BoomType = (boomType)Enum.GetValues(typeof(boomType)).GetValue(rnd.Next(0, Enum.GetValues(typeof(boomType)).Length));
}
public void MaakEekhoorn()
{
Eekhoorn = new Eekhoorn();
eekHoorn = true;
aantalVogels = (int)Math.Round((double)(aantalVogels/2), 0);
}
}
&
이 10 개체를 만듭니다 루프입니다 : 여기 그것의 생성자를 포함하는 객체의 클래스 (이름 붐)의 마지막public List<Boom> Bomen = new List<Boom>();
for (int i = 1; i <= 10;i++)
{
Bomen.Add(new Boom());
}
, I가 사용하고 코드 객체의 생성을 테스트하십시오 :
for (int i = 0;i<10;i++)
{
lstBomen.Items.Add("VolgNr: " + bos.Bomen[i].VolgNr.ToString() + " AantalVogels: " + bos.Bomen[i].AantalVogels.ToString() + " BoomType: " +
bos.Bomen[i].BoomType.ToString() + " Hoogte: " + bos.Bomen[i].Hoogte.ToString());
}
내 코드는 모두 10 개체에 대해 동일한 값을 생성 유지 이유를 다음과 같이 출력의 결과로 파악 :
당신이 코드 또는 프로그램의 실행에 연결 아무것도에 관련된 어떤 더 많은 정보가 필요하면, 기분이 자유롭게 물어보십시오.
새로운 무작위 개체를 만듭니다. 그것은 종자로 시간표를 사용합니다. 이것은 매우 간단하고 빠른 코드이기 때문에 매번 동일한 시드를 얻습니다. 따라서 동일한 시퀀스이므로 동일한 값을 갖습니다. – dbugger
나는 이것을 피하는 방법에 대한 아이디어가 있습니까? 객체가 생성 될 때마다 동일한 값을 얻지 않고 (의미 : 다음 일괄 처리와 동일한 일괄 처리의 값없이) – Yorrick