当我有整数数组时可以使用for循环吗

时间:2018-12-27 10:26:15

标签: c# loops for-loop

我正在阅读一本编程基础知识,但偶然发现了该练习

编写一个程序,该程序将打印序列的前100个成员

2, -3, 4, -5, 6, -7, 8

在练习的解决方案中,它说“检查循环”一章

在将数字存储在数组中时,我尝试使用for循环来解决它,但是编译器表示无法将类型int[]转换为int

int[] numbers = {1, -2, 3, -4, 5, 6, -7};

for (int i = numbers; i < 100; i++)
{
    Console.WriteLine(numbers[i]);
}           

6 个答案:

答案 0 :(得分:1)

这里的想法不是要有一个数组,而是要生成此序列的前100个数字。每个项目都将绝对值加1,并更改符号:

int num = 100;
int start = 2;
int end = start + num;
int sign = 1;
for (int i = start; i < (start + num); i++)
{
    int result = i * sign;
    sign *= -1;
    Console.WriteLine(result);
} 

答案 1 :(得分:0)

`var number = [1,2,..... 100];

使用foreach(整数形式的数字){

Console.WriteLine(number);

}`

答案 2 :(得分:0)

当然,编译器是正确的。您正在将numbers的{​​{1}}分配给int[]的{​​{1}}。这些是不同的类型。

但是,除非您认为计算机将猜测从8到100的序列中的下一个项目,否则您似乎根本没想到这个问题。

答案 3 :(得分:0)

您收到错误,是因为您尝试使用数组作为for循环的起点,该循环仅需要一个整数。

如果您希望起点是数组中的第一项,则应编写 index

for (int i = numbers[0]; i < 100; i++)

要进一步阅读,请查看以下内容:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/for

答案 4 :(得分:0)

您正在尝试将RelativeLayout.LayoutParams params = bubbleTextView.getLayoutParams(); params.addRule(RelativeLayout.ALIGN_PARENT_END); bubbleTextView.setLayoutParams(params); 数组转换为不兼容的原始int类型,这就是为什么会出现编译器错误的原因。而不是使用int循环。另外,您打印前100个数字的逻辑也不正确。

答案 5 :(得分:-3)

for (int i = 1; i <= 100; i++)
{
    Console.WriteLine(i *  Math.Pow(-1, i+1));
} 

尝试此代码,应提供您正在寻找的输出