我正在尝试创建代码,询问用户是否要输入数字。然后询问他们是否希望数字显示为偶数或奇数,并对起点和终点取高和低。
link=$(<$WORKING_DIR/jacoco_link/link.txt)
就目前而言,它会打印出整个数字数组,而不管用户是否提示仅输入奇数或偶数。
答案 0 :(得分:3)
您的循环应替换为:
for (i = miny; i <= maxy; i++)
{
bool isEven = ( i % 2 ) == 0;
if ( isEven && oddeveninp == 1
|| !isEven && oddeveninp == 2 )
{
Console.WriteLine( i );
}
}
主要问题是,如果数字为偶数或奇数,则将数字写入控制台。由于任何数字都是奇数或偶数,这意味着您将始终打印i
。
此处的关键点是您必须在偶数为的情况下打印数字,并且用户选择打印偶数的数字。相反,您必须在数字为奇数时打印,并且用户选择打印奇数。
希望这会有所帮助。
答案 1 :(得分:0)
您可以利用一个事实,即奇数和偶数交替出现,因此您可以为i设置初始值,并在每次迭代时将其值增加2。
if (miny % 2 != oddeveninp -1)
miny++;
for (var i = miny; i <= maxy; i+=2)
{
Console.WriteLine(i);
}