如何生成for循环
how to generate for loop
你好,我遇到了一个非常简单的问题,我正在尝试用 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();
}
}
}
}
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 += stegNummer
或 startNummer = startNummer + stegNummer
大部分看起来还不错。但是有几件事没有意义,
for (int startNummer; startNummer >= stopNummer; startNummer + stegNummer);
{
Console.WriteLine();
}
有一个分号';'在 for 循环的末尾。这结束 for 循环,使下一个花括号语法错误。另外 startNumber >= 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
}
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)
}
}
你好,我遇到了一个非常简单的问题,我正在尝试用 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();
}
}
}
}
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 += stegNummer
或startNummer = startNummer + stegNummer
大部分看起来还不错。但是有几件事没有意义,
for (int startNummer; startNummer >= stopNummer; startNummer + stegNummer);
{
Console.WriteLine();
}
有一个分号';'在 for 循环的末尾。这结束 for 循环,使下一个花括号语法错误。另外 startNumber >= 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
}
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)
}
}