Topic: 关于一个冒泡程序

  Print this page

1.关于一个冒泡程序 Copy to clipboard
Posted by: kavary
Posted on: 2005-10-13 15:21

唉。。努力努力啃书。。
今天看到书上的冒泡例题,跟做了一次
1 public class TT{
2  public static void main(String args[]){
3    int i,j;
4    int intArray[]={30,1,-9,70,25};
5    int l=intArray.length;
6    for(i=0;i<l-1;i++)
7     for(j=i+1;j<1;j++)
8     if(intArray[i]>intArray[j]){
9       int t=intArray[i];
10       intArray[i]=intArray[j];
11       intArray[j]=t;
12       
13     }
14     for(i=0;i<1;i++)
15     System.out.println(intArray[i]+" ");
16     }
17    }
编译通过,运行结果为30
书上说会自己排列,按照大小,结果为
-9
1
25
30
70
求教。。为什么我的结果只有30一个数字?哪里写错了?
还有,为什么我在6,7,14行后面加“;”可以编译通过,但运行会出错呢?如图
可以给我讲讲“;”的具体作用吗?我的书没有解释。

2.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: bluecrystal
Posted on: 2005-10-13 16:52

参考这里:
http://www.wnetw.com/jclub/code4u/read.jsp?itemid=13

3.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: ballfly
Posted on: 2005-10-13 17:05

1 public class TT{
2 public static void main(String args[]){
3 int i,j;
4 int intArray[]={30,1,-9,70,25};
5 int l=intArray.length;
6 for(i=0;i<l-1;i++)
7 for(j=i+1;j<1;j++) //此处改为:for(j=i+1;j<l;j++)
8 if(intArray[i]>intArray[j]){
9 int t=intArray[i];
10 intArray[i]=intArray[j];
11 intArray[j]=t;
12
13 }
14 for(i=0;i<1;i++) //此处改为:for(i=0;i<5;i++)
15 System.out.println(intArray[i]+" ");
16 }
17 }

4.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: linjie1918
Posted on: 2005-10-13 18:08

要注意点不要把L写成ONE了。。。。。

5.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: linjie1918
Posted on: 2005-10-13 18:13

还有你这个程序应该不是泡沫法。。。。。。。。。

6.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: linjie1918
Posted on: 2005-10-13 18:38

还有你这个程序应该不是泡沫法。。。。。。。。。

7.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: linjie1918
Posted on: 2005-10-13 18:49

还有你这个程序应该不是泡沫法。。。。。。。。。

8.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: acl2005
Posted on: 2005-10-15 00:23

1 public class TT{
2 public static void main(String args[]){
3 int i,j;
4 int intArray[]={30,1,-9,70,25};
5 int l=intArray.length;
6 for(i=0;i<l-1;i++)//此处改为for(i=1;i<l;i++)
{
7 for(j=i+1;j<1;j++) //此处改为:for(j=0;j<i;j++)
{
8 if(intArray[i]>intArray[j])
{
9 int t=intArray[i];
10 intArray[i]=intArray[j];
11 intArray[j]=t;
}
12 }
13 }
14 for(i=0;i<1;i++) //此处改为:for(i=0;i<l;i++)
15 System.out.println(intArray[i]+" ");
16 }
17 }

9.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: vickey312
Posted on: 2005-10-15 13:37

看书要仔细~~~~

10.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: liumiaowilson
Posted on: 2005-10-15 14:03

第7行应该是for(j=i+1;j<l-i-1;j++)
才对吧.

11.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: kavary
Posted on: 2005-10-15 14:54

谢谢各位解答。。是我粗心

12.Re:关于一个冒泡程序 [Re: kavary] Copy to clipboard
Posted by: rhvic
Posted on: 2005-10-15 23:29

我觉得我们要锻炼一种自己解决问题的能力
比如你的出错信息里面不是明明些着:
ArrayIndexOutOfBoundsException:at java 8
在第八行出现一个数组地址越界的错误
有时可能在上一行或者下一行


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923