我想学习编程,我写了一个代码添加到ArrayList的项目。有很多for循环,每个循环都运行一个特定的时间间隔,这给了我正确的结果。 但是,而不是很多for循环我试着只用一个循环与IF Else声明,这doenots给我正确的结果 请任何人都可以检查并告诉什么是错的?单循环给出了不同的结果比许多for循环
ArrayList dogs = new ArrayList();
ArrayList cats = new ArrayList();
ArrayList rabbits = new ArrayList();
ArrayList guineaPigs = new ArrayList();
ArrayList birds = new ArrayList();
ArrayList ferrets = new ArrayList();
//Before
for (int i = 0; i < 20; i++)
{
dogs.Add(new Animal(240.00, "D-PUP" + i));
}
for (int i = 0; i < 15; i++)
{
dogs.Add(new Animal(190.00, "D-JUN" + i));
}
for (int i = 0; i < 10; i++)
{
dogs.Add(new Animal(120.00, "D-ADU" + i));
}
for (int i = 0; i < 5; i++)
{
dogs.Add(new Animal(60.50, "D-SEN" + i));
}
//Before
for (int i = 0; i < 25; i++)
{
cats.Add(new Animal(220.00, "C-KIT" + i));
}
for (int i = 0; i < 30; i++)
{
cats.Add(new Animal(180.50, "C-JUN" + i));
}
for (int i = 0; i < 15; i++)
{
cats.Add(new Animal(120.00, "C-ADU" + i));
}
for (int i = 0; i < 10; i++)
{
cats.Add(new Animal(50, "C-SEN" + i));
}
//Before
for (int i = 0; i < 15; i++)
{
rabbits.Add(new Animal(120.75, "R-KIT" + i));
}
for (int i = 0; i < 15; i++)
{
rabbits.Add(new Animal(40.00, "R-ADU" + i));
}
//Before
for (int i = 0; i < 5; i++)
{
guineaPigs.Add(new Animal(15.00, "G-PUP" + i));
}
for (int i = 0; i < 10; i++)
{
guineaPigs.Add(new Animal(7.50, "G-ADU" + i));
}
//Before
for (int i = 0; i < 2; i++)
{
birds.Add(new Animal(90.00, "B-CHI" + i));
}
for (int i = 0; i < 5; i++)
{
birds.Add(new Animal(65.00, "B-ADU" + i));
}
//Before
for (int i = 0; i < 1; i++)
{
ferrets.Add(new Animal(150.00, "F-PUP" + i));
}
for (int i = 0; i < 3; i++)
{
ferrets.Add(new Animal(120.00, "F-ADU" + i));
}
for (int i = 0; i < 2; i++)
{
ferrets.Add(new Animal(30.50, "F-SEN" + i));
}
//After
int j = 30;
int i;
for(i = 0; i < j; i++)
{
if(i < 1)
{
ferrets.Add(new Animal(150.00, "F-PUP" + i));
}
if(i < 2)
{
birds.Add(new Animal(90.00, "B-CHI" + i));
ferrets.Add(new Animal(30.50, "F-SEN" + i));
}
if(i < 3)
{
ferrets.Add(new Animal(120.00, "F-ADU" + i));
}
if(i < 5)
{
dogs.Add(new Animal(60.50, "D-SEN" + i));
guineaPigs.Add(new Animal(15.00, "G-PUP" + i));
birds.Add(new Animal(65.00, "B-ADU" + i));
}
if(i < 10)
{
dogs.Add(new Animal(120.00, "D-ADU" + i));
cats.Add(new Animal(50, "C-SEN" + i));
guineaPigs.Add(new Animal(7.50, "G-ADU" + i));
}
if(i < 15)
{
dogs.Add(new Animal(190.00, "D-JUN" + i));
cats.Add(new Animal(120.00, "C-ADU" + i));
rabbits.Add(new Animal(120.75, "R-KIT" + i));
rabbits.Add(new Animal(40.00, "R-ADU" + i));
}
if(i < 20)
{
dogs.Add(new Animal(240.00, "D-PUP" + i));
}
if(i < 25)
{
cats.Add(new Animal(220.00, "C-KIT" + i));
}
if(i < 30)
{
cats.Add(new Animal(180.50, "C-JUN" + i));
}
}
没有没有工作! – Alen
...顺便说一句。在2017年与'ArrayList'一起工作...是不理想的。您可能需要阅读[泛型](https://msdn.microsoft.com/library/ms379564.aspx),然后使用'List'来代替。 –
Corak
当你说第二种方法产生“不正确”的结果时,你的意思是结果有错误的项目数量,或者你的意思是结果有正确数量的项目,但“在错误的地方”? – Corak