慕粉3445551
2016-06-04 07:14
如下代码编译,为何总是提示:
no overload for method "ReadLine" takes 3 arguments
string[] name = new string[5];
int[] score = new int[5];
Console.Write("请输入同学们的姓名:");
//Console.ReadLine();
Console.Write("请输入同学们的分数:");
//score[] = Console.ReadLine();
for(int i=0;i<name.Length&&i<score.Length;i++)
{
name[i] = Console.ReadLine("第{0}个同学的姓名是{1}",i,name[i]);
score[i] = Console.ReadLine("第{0}个同学的分数是{1}",i,score[i]);
}
for (int j = 0; j < name.Length; j++)
{
Console.WriteLine("第{0}个同学的姓名:{1},分数:{2}",j,name[j],score[j]);
}
你是想实现键盘输入五个同学的姓名和成绩存在两个一维数组里面
首先你的写法有问题,
score[i] = Console.ReadLine("第{0}个同学的分数是{1}",i,score[i]);
name[i] = Console.ReadLine("第{0}个同学的姓名是{1}",i,name[i]);
把这两行代码修改一下就好了,ReadLIne是接受键盘输入的,所以里面的参数是不能要的,应该修改为
Console.WriteLine("请输入第{0}位同学的姓名:", i+1);
name[i] = Console.ReadLine();
Console.WriteLine("请输入第{0}个同学的分数:", i+1 );
score[i] =int.Parse( Console.ReadLine());//这里需要把输入的字符串转换为整型,用int.parse方法。
完整代码如下,你可以看一下是不是你想实现的那种,有什么不懂再@我:
string[] name = new string[5];
int[] score = new int[5];
for (int i = 0; i < name.Length; i++)
{
Console.WriteLine("请输入第{0}位同学的姓名:", i+1);
name[i] = Console.ReadLine();
Console.WriteLine("请输入第{0}个同学的分数:", i+1 );
score[i] =int.Parse( Console.ReadLine());
}
for (int j = 0; j < name.Length; j++)
{
Console.WriteLine("第{0}个同学的姓名:{1},分数:{2}", j+1, name[j], score[j]);
}
C#开发轻松入门
255157 学习 · 1460 问题
相似问题