using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3
{
class Program
{//将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|aaa”
static void Main(string[] args)
{
int i=0;
string []names = new string [5];
for (i = 0; i <= names.Length; i++)
{
Console.WriteLine("请输入名字:");
names = Console.ReadLine();
names = names + "|";
}
Console.WriteLine("{0}",names);
Console.ReadKey();
}
}
}
第一:循环条件:for (i = 0; i <= names.Length; i++)
改成for (i = 0; i < names.Length; i++)
或者for (i = 0; i <= names.Length-1; i++)
超出数组长度了
第二:输出语句:Console.WriteLine("{0}",names);
输出语句在循环外面,他只能输出一个元素 下面是我给你改良的:
int i = 0;
string[] names = new string[5];
for (i = 0; i < names.Length; i++)
{
Console.WriteLine("请输入名字:");
names[i] = Console.ReadLine();
if (i == names.Length - 1) //判断是否是最后一个 是就跳出
{ break; }
names[i] = names[i] + "|";
}
foreach (string s in names) //遍历输出
{
Console.Write(s);
}
Console.ReadKey();
复制代码
作者: 何俞平 时间: 2013-10-25 23:16
第一:循环条件:for (i = 0; i <= names.Length; i++) 的 i <= names.Length应该为 i < names.Length,否则循环了六次,超出数组长度了。
第二:输出语句:Console.WriteLine("{0}",names);输出语句在循环外面,只能输出一个元素 这题你可以声明一个string类型的变量str用于接收names的累加。循环次数可以改为4次。代码如下:
namespace 作业3
{
class Program
{//将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|aaa”
static void Main(string[] args)
{
int i=0;
string []names = new string [5];
//声明一个string类型的变量str用于接收names的累加,str的初始值为"" string str=""; //循环names.Length-1次
for (i = 0; i <names.Length-1; i++)
{
Console.WriteLine("请输入名字:");
names = Console.ReadLine();
str+=name+"|";
}
Console.WriteLine("{0}",str+names[names.Length]);
Console.ReadKey();
}
}
}