C#在一个textbox中输入任意数字后,在另外一个textbox中从小到大排序,请大神帮我看一下代码哪里错了吗 40
string[]strArray=textBox1.Text.Split('');//以空格键为分隔符将字符串数组放入strAtrray数组中int[]intArray=...
string[] strArray = textBox1.Text.Split(' ');//以空格键为分隔符将字符串数组放入strAtrray数组中
int[] intArray = new int[strArray.Length];
for (int i = 0; i < intArray.Length; i++)
{
intArray[i] = int.Parse(strArray[i]);//将字符串数组转换成int型数组
for (int x = 0; x < intArray.Length - 1; x++)
{
int min = 0;
for (int j = x + 1; j < intArray.Length; j++)
{
if (intArray[j] < intArray[x])
min = intArray[j];
}
int t = min;
min = intArray[x];
intArray[x] = t;
}
textBox4.Text =textBox4.Text+ intArray[i].ToString();
}
我的思路是:先将输入的字符串转换成int型数组,然后排序后显示出来,请帮我看一下哪里出错了,明天就交了,急啊,麻烦了 展开
int[] intArray = new int[strArray.Length];
for (int i = 0; i < intArray.Length; i++)
{
intArray[i] = int.Parse(strArray[i]);//将字符串数组转换成int型数组
for (int x = 0; x < intArray.Length - 1; x++)
{
int min = 0;
for (int j = x + 1; j < intArray.Length; j++)
{
if (intArray[j] < intArray[x])
min = intArray[j];
}
int t = min;
min = intArray[x];
intArray[x] = t;
}
textBox4.Text =textBox4.Text+ intArray[i].ToString();
}
我的思路是:先将输入的字符串转换成int型数组,然后排序后显示出来,请帮我看一下哪里出错了,明天就交了,急啊,麻烦了 展开
1个回答
展开全部
看看输入的值最后一个是否有空格 .Split(' ') 注意最后一个空格。。。用trimend('')把最后一个空格去掉 int.Parse('这里是空格') 应该会报错。。。 推荐使用tryParse转换类型。。。。
追问
类型转换应该没问题,转换后可以求出输入所有数字的最大值。就是排序这里乱输出一些。。
追答
额。。。冒泡不是这样搞的。。。排序都还没完成 那就想输出了。。。。不太能理解你的思路。。
textBox4.Text = "";
//以空格键为分隔符将字符串数组放入strAtrray数组中
//忽略最后一个字符
string[] strArray = textBox1.Text.TrimEnd(' ').Split(' ');
int[] intArray = new int[strArray.Length];
int temp = 0;
for (int i = 0; i < intArray.Length; i++)
{
intArray[i] = int.Parse(strArray[i]);//将字符串数组转换成int
}
for (int x = 0; x < intArray.Length - 1; x++)
{
for (int j = x + 1; j < intArray.Length; j++)
{
if (intArray[j] < intArray[x])
{
temp = intArray[x];
intArray[x] = intArray[j];
intArray[j] = temp;
}
}
}
for (int i = 0; i < intArray.Length; i++)
{
textBox4.Text = textBox4.Text + intArray[i].ToString() + " ";
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询