如何生成for循环

时间:2016-03-21 15:34:48

标签: c# for-loop user-input

Hello有一个非常简单的问题,我正在尝试在C#中创建一个控制台程序,该程序从用户获得3个输入。开始,停止和步骤数。

它应该是一个for循环,但我真的不知道如何将用户输入放在for循环中,我尝试使用用户输入的int,然后将int的名称放在for循环中,但它是给我错误。

该程序应该看起来像“Ovning 1”网站中的以下程序是瑞典语,但我希望你们会得到它,尝试搜索网站,但从来没有给出解释。 http://csharpskolan.se/showarticle.php?id=119

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ovning12
{
class Program
{
    static void Main(string[] args)
    {

        Console.WriteLine("Mata in Start");
        int startNummer = int.Parse(Console.ReadLine());

        Console.WriteLine("Mata in Stop");
        int stopNummer = int.Parse(Console.ReadLine());

        Console.WriteLine("Mata in Steg");
        int stegNummer = int.Parse(Console.ReadLine());


        for (int startNummer; startNummer >= stopNummer; startNummer + stegNummer) 
        {
            Console.WriteLine();


        }
    }
}
}

3 个答案:

答案 0 :(得分:5)

static void Main(string[] args)
    {
        Console.WriteLine("Mata in Start");
        int startNummer = int.Parse(Console.ReadLine());

        Console.WriteLine("Mata in Stop");
        int stopNummer = int.Parse(Console.ReadLine());

        Console.WriteLine("Mata in Steg");
        int stegNummer = int.Parse(Console.ReadLine());


        for (int n = startNummer; n < stopNummer; n += stegNummer)
        {
            Console.Write(n + " ");
           Console.Write("{0} ", n); //(Alternative)
        }
    }

答案 1 :(得分:4)

for循环应该如下所示

for (int i = startNummer; i <= stopNummer; i += stegNummer) 
{
    Console.Write(i + " ");
}

您当前的代码中有3个错误:

for (int startNummer; startNummer >= stopNummer; startNummer + stegNummer) 
  • 您无法将变量初始化两次int startNummer; - 无法编译
  • 你的比较走向了错误的方向(除了你正在使用否定步骤)startNummer >= stopNummer
  • 您未在此处startNummer + stegNummer分配计算的新步骤 - 它应为startNummer += stegNummerstartNummer = startNummer + stegNummer

答案 2 :(得分:1)

大部分都看起来不错。但是有些事情没有意义,

for (int startNummer; startNummer >= stopNummer; startNummer + stegNummer);
{
        Console.WriteLine();
}

有一个半冒号';'在for循环结束时。这结束于循环,使下一个花括号语法错误。此外,startNumber&gt; = stopNumber然后startNumber + stegNumber可能根本不运行它,或者根据输入运行无限循环。

这个for循环应该如下所示吗?

for (int start = startNummer /*have to initialize the start value*/; 
     start < stopNummer; 
     start += stegNummer)
{
        Console.Write(start + " "); //need Console.Write to print all numbers on same line. Console.WriteLine puts each index on its own line
}