从控制台从数组读取用户输入
本文关键字:输入 用户 数组 控制台 读取 | 更新日期: 2023-09-27 18:36:59
嗨,我
正在使用Visual Studio 2010来学习一些C#,目前我正在控制台应用程序中做数组
我创建了一个数组,它给出了我正在寻找的输出。 这是我用于数组的代码
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
var lottery_numbers = new[] { "1,", "2, ", "3", "4", "5", "6", "7", "8", "9", "10" };
for (var i = 0; i < 10; i++)
Console.WriteLine("{0}", lottery_numbers[i]);
Console.Read();
}
}
}
我也知道,要让用户输入控制台,我需要一些类似于以下内容的代码:
string numbLine;
Console.WriteLine("display number lines: ");
numbLine = Console.ReadLine();
Console.WriteLine();
我无法弄清楚的是,我希望询问用户要输出多少行,然后它将显示数组中的该行数以供用户输入
例如,将询问用户
输出多少行用户会把 5然后,控制台将从数组中输出前 5 行
只需从用户那里获取数字并循环访问该数字即可。
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
var lottery_numbers = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
//Asking for user input
Console.WriteLine("How many number's you want to display?? ");
// getting input from user
int number = Convert.ToInt32(Console.ReadLine());
// loop through the number user gave as input
for (var i = 0; i < number; i++)
{
Console.WriteLine("{0}", lottery_numbers[i]);
}
Console.Read();
}
}
}
试试这个:
Console.WriteLine("how many lines for output: ");
var numbLine = Convert.ToInt32(Console.ReadLine());
for (var i = 0; i < numbLine; i++)
Console.WriteLine("{0}", lottery_numbers[i]);
为了打印 X 行,您只需更改 for 循环的上限:
for (var i = 0; i < 10; i++)
Console.WriteLine("{0}", lottery_numbers[i]);
成为
int howManyLinesToOutput = 5;
for (var i = 0; i < howManyLinesToOutput; i++)
Console.WriteLine("{0}", lottery_numbers[i]);
目前为止,一切都好?
接下来,您必须弄清楚如何根据用户输入的内容设置如何ManyLinesToOutput。 Console.ReadLine() 似乎是我们想要的,但它返回一个字符串。 我们如何将字符串更改为整数? 我们解析它。
以下是解析 int 的一种方法:
string numbLine = Console.ReadLine();
int howManyLinesToOutput = int.Parse(numbLine);
这是另一种方式:
string numbLine = Console.ReadLine();
int howManyLinesToOutput = Convert.ToInt32(numbLine);
把以上放在一起,你的家庭作业应该很容易。
额外积分
如果用户不输入数字怎么办? 你会得到一个错误。 这里有一种方法可以解决它
int howManyLinesToOutput;
bool numberEnteredFlag = false;
while (!numberEnteredFlag)
{
string numbLine = Console.ReadLine();
numberEnteredFlag = int.TryParse(numbLine, out howManyLinesToOutput);
}
为了获得更多额外的信用,请修改上面的代码以处理用户输入负数的情况。