从用户输入到数组并在 C# 中的控制台中显示
Posted
技术标签:
【中文标题】从用户输入到数组并在 C# 中的控制台中显示【英文标题】:Input from user to array and Display in Console in C# 【发布时间】:2021-11-25 17:50:51 【问题描述】:我是 C# 的初学者,我想知道这段代码有什么问题。
-
我希望用户输入数字的数量
然后创建一个具有该数量的数组
那么最后我想显示数组中的所有数字。
代码:
using System;
using System.Threading;
using System.Collections.Generic;
namespace Console_Project_alpha
class Program
static void Main(string[] args)
Console.Write("Enter the amount of numbers: ");
int amount = Convert.ToInt32(Console.ReadLine());
int[] numbers = new int[amount];
string nth = "";
for( int i = 1; i <= amount ; i++)
if(i == 1)
nth = i + "st";
else if( i == 2)
nth = i + "nd";
else if( i == 3)
nth = i + "rd";
else
nth = i + "th";
Console.Write("\nEnter " + nth + " Number:");
int num = Convert.ToInt32(Console.ReadLine());
for(int j = 0; j <= numbers.Length; j++)
numbers[j] = num;
System.Console.WriteLine(numbers);
非常感谢任何帮助。提前致谢
【问题讨论】:
它会帮助你添加你看到的问题。但是,这里 for(int j = 0; j 您索引超出了数组的末尾。最后一个索引是length-1。 如果你有一个长度为 N 的数组,那么索引从 0 到 N-1。在两个循环条件中将<=
替换为<
以解决问题。
谢谢!那是缺少的部分
【参考方案1】:
-
在您的代码中,您总是将相同的值覆盖到所有索引中
数组。
如果您想在控制台中显示数组中的值,只需在数组之后进行迭代
根据您的代码正确工作的示例:
class Program
static void Main(string[] args)
Console.Write("Enter the amount of numbers: ");
int amount = Convert.ToInt32(Console.ReadLine());
int[] numbers = new int[amount];
string nth = "";
int index = 0;
for (int i = 1; i <= amount; i++)
if (i == 1)
nth = i + "st";
else if (i == 2)
nth = i + "nd";
else if (i == 3)
nth = i + "rd";
else
nth = i + "th";
Console.Write("\nEnter " + nth + " Number:");
int num = Convert.ToInt32(Console.ReadLine());
numbers[index] = num;
index++;
for (int i = 0; i <= numbers.Length - 1; i++)
Console.WriteLine(numbers[i]);
Console.ReadLine();
【讨论】:
现在我回来看看..这是一个简单的问题,我想知道,我到底是怎么问这个的..xD 无论如何谢谢 ;)以上是关于从用户输入到数组并在 C# 中的控制台中显示的主要内容,如果未能解决你的问题,请参考以下文章