A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丁艳姣 中级黑马   /  2012-10-24 16:28  /  1965 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int[] array={1,2,3,4,5};
int temp=0;
for(int i=0;i<array.length-1;i++)
{
for(int j=array.length-1;j>0;j++)
{
if(array[j]<array[j+1])
{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
console.writeline("array[j]");
为什么在循环语句里结果出来的是一个数而不是一串

}

评分

参与人数 1技术分 +1 收起 理由
王松老师 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 李盛利 于 2012-10-24 19:06 编辑

里边的嵌套的for循环写错了吧??应该是for(int j=0;j<array.lengj-1-i;j++)?            最后输出的不能带双引号“”                                                                                                                                                                                 

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
nt[] array={1,2,3,4,5};
int temp=0;
for(int i=0;i<array.length-1;i++)     //从数组的第一个元素开始比较,比较的次数是数组的长度-1
{
for(int j=array.length-1;j>0;j++) //每一次比较的趟数 是当前  数组长度-1-比较次数  所以这里有点问题 应该改成  for(int j=0;j<array.Length-1-i;j++)
{
if(array[j]<array[j+1])
{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
console.writeline("array[j]"); //这里输出有问题  把变量放在 双引号里就当成 字符串输出去了 应该是 Console.WriteLine(array[j]);而且这里如果是Console.WriteLine(array[j]); 输出应该还会有问题 会找不到j 应为你j是局部变量 所以 要遍历数组 可以用 foreach

foreach( int k in array)
{
Console.Write(k + "   ");
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
数组的输出必须套用一个for循环。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马