| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:[求助]这个问题怎么解决
只看楼主 加入收藏
youniankang
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-18
收藏
 问题点数:0 回复次数:2 
[求助]这个问题怎么解决

public class Demo1
{
public static void main(String[] args){
int a;
int c=new int[10];
c= { 32,87,3,589,12,1076,2000,8,622,127};

for(int i=0;i<10;i++)
{
if(c[i]>c[i+1])
{
a=c[i+1];
c[i+1]=c[i];

c[i]=a;
}
}
for( i=0;i<10;i++)
{
System.out.println(c[i]);
}
}
}
有点错误啊帮我修改一下谢谢

搜索更多相关主题的帖子: public void int 
2007-09-03 20:59
sea7
Rank: 2
等 级:新手上路
威 望:3
帖 子:291
专家分:0
注 册:2007-2-17
收藏
得分:0 
以下是引用youniankang在2007-9-3 20:59:57的发言:

public class Demo1
{
public static void main(String[] args){
int a;
int c=new int[10];
c= { 32,87,3,589,12,1076,2000,8,622,127};

for(int i=0;i<10;i++)
{
if(c[i]>c[i+1])
{
a=c[i+1];
c[i+1]=c[i];

c[i]=a;
}
}
for( i=0;i<10;i++)
{
System.out.println(c[i]);
}
}
}
有点错误啊帮我修改一下谢谢

错误很明显,地址越界啊,红色部分,当i取9时,c[i+1]不就地址越界了吗?至于修改,还是你自己来吧!

[此贴子已经被作者于2007-9-3 22:13:16编辑过]


软件是一种修养
2007-09-03 22:12
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
LZ可以写成for(i=1;i<10;i++),也就是说从1开始,然后比较c[i]和c[i-1],还有,
c= { 32,87,3,589,12,1076,2000,8,622,127};这个说你非法开头,你给数组值的方式不对,可以写成:
int[] c={32,87,3,589,12,1076,2000,8,622,127};

还有,i的定义不要放在for里面,不然你的第二个for还会报错,你可以在int a下面一行写int i,然后第一个for()里面的int去掉
还有就是,如果LZ是想排序的话,一个循环好像不行的...

I'm here, as always...
2007-09-04 09:55
快速回复:[求助]这个问题怎么解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059140 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved