C#中的控制台读取一行字符串

题目是这样的:定义一个数组,用for循环顺序输入七个数,然后逆序打印以下是代码:int[]array=newint[7];for(inti=0;i<array.Lengt... 题目是这样的:定义一个数组,用for循环顺序输入七个数,然后逆序打印

以下是代码:
int[] array = new int[7];
for (int i = 0; i < array.Length; i++)
{
Console.Write("请输入第{0}个数:",i+1);
array[i] = int.Parse(Console.ReadLine());
Console.WriteLine();
}
Console.WriteLine();

for(int i=array.Length-1 ;i>=0; i--)
{
Console.Write("{0} ",array[i]);
}
Console.ReadKey();
我的问题就是:如何把“Console.Write("请输入第{0}个数:",i+1);”这行代码中要输入的数字和其他字符串分开?
我使用“array[i] = int.Parse(Console.ReadLine().Substring(8));”他会报错说不能大于字符串长度,可是字符串中的第八个字符不正好是要输入的字符串吗?
求解 谢谢
错了,应该是“array[i] = Convert.ToInt32(Console.ReadLine().Substring(8));”
展开
 我来答
hyjiacan
推荐于2016-04-18 · TA获得超过3912个赞
知道小有建树答主
回答量:894
采纳率:100%
帮助的人:1076万
展开全部

首先,从控制台输入 ,使用   Console.ReadLine()  如果你要这样用,那么你输入的每个数是用什么分隔的呢?  好吧,只要不是用数字分隔,都好办啊。。比如,你使用的分隔符为空格,那么输入就应该为:

12 54 3245 12 211 33 4

这样的。在你使用Console.ReadLine() 读取到数据后,再使用Split函数将这个字符串分割成字符串数组:

string str = Console.ReadLine();
string sarr = str.Split(' ');

,分割后,再通过循环把字符串转换格式成数字类型:

int[] iarr = new int[sarr.Length];
for(int i=0;i<sarr.Length;i++)
{
    iarr[i] = int.Parse(sarr[i]);
}

,现在就得到了数字类型的数组: iarr了,然后 就可以进行你后面的操作了。


另一种输入,也就是你代码中提到的,每个数字输入一行。你的代码是没有错误的。

Console.Write("请输入第{0}个数:",i+1);

这句代码只是用来提示输入的,跟输入的数据没有关系的。虽然在同一行,但是程序只会读取你手动输入的数据,不会去读取输出的内容。

更多追问追答
追问
我想的是这样:
执行“Console.Write("请输入第{0}个数:",i+1);”这段代码时,你输入一个数,然后控制台上的内容就变成了这样:“请输入第1个数:1”(假定我输入了1),然后我想就是把这个1和前面的字符串分开
追答
Console.ReadLine() 读取的时候只会读取 你输入的那个  1,前面的内容是不会读取到的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式