Topic: 关于数组的问题,帮帮忙 |
Print this page |
1.关于数组的问题,帮帮忙 | Copy to clipboard |
Posted by: fq88 Posted on: 2005-10-01 12:18 class taxis { public static void main(String[] args) { int [] buf={1,4,7,9,5}; int k=0; for(int i=0;i<=buf.length;i++) { if(buf[i]>buf[i+1]) { k=buf[i]; buf[i]=buf[i+1]; buf[i+1]=k; System.out.print(buf[i+1]); } else { System.out.print(buf[i]); } } } } 运行不了,,怎么办! |
2.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: uniquejava Posted on: 2005-10-01 13:09 不明白你写的程序想干么子? 数组下标越界。。 buf的下标最多只能取 buf.length-1.....即 控制条件i<=buf.length-1, 不仅如此,你的下标中出现i+1, 所以i+1 也要小于等于buf.length-1 综上所述,i<buf.length-1,,才不会出现Run TIme Error!.. 至于写这个是为啥子,看不明白。。。 |
3.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: bluecrystal Posted on: 2005-10-01 17:25 楼主是在排序 一个错误就是越界,上面那个兄弟说的很清楚了 另外一个,请养成类名首字母大写的习惯 |
4.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: lizhihua Posted on: 2005-10-02 15:53 你是想实现数组从小到大的排序吗? 这叫冒泡排序,但是你这个写法也是错误的。 冒泡排序应用两个FOR循环来实现。 |
5.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: acl2005 Posted on: 2005-10-04 17:27 //:maopao.java public class maopao{ public static void main(String[] args){ int[] arr={89,78,43,23,22,89,12,69,99,6}; for(int i=1;i<arr.length;i++) { for(int j=0;j<i;j++) \\这里是两个循环控制的 { if(arr[i]>arr[j]) { int ks=arr[i]; \\ 这里是个临时变量"ks" arr[i]=arr[j]; arr[j]=ks; } } } for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } System.out.println(); } }///:~ |
6.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: acl2005 Posted on: 2005-10-04 17:34 我也是个菜鸟,看书上有这个题.然后就学着写下来了!! 让我们共同努力吧! |
7.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: 火山一角 Posted on: 2005-10-19 21:40 class Student { String name;int age,yy,sx,java; public Student(String name,int age,int yy,int sx,int java) { this.name=name;this.age=age;this.yy=yy; this.sx=sx;this.java=java; } Student[] s=new Student[3]; Student s[0]=new Student("张三",19,83,65,72); Student s[1]=new Student("李司",20,75,57,88); Student s[2]=new Student("王五",20,83,62,91); public int zf() { int zf; zf=yy+sx+java; return zf; } public int HighestScore() { int max=0; for(int i=0;i<3;i++) if(max>s[i].java) max=s[i].java; return max; } } public class Xshchj { public static void main(String[] args) { System.out.println(s0.name+" "+s0.zf); System.out.println(s1.name+" "+s1.zf); System.out.println(s2.name+" "+s2.zf); System.out.println(HighestScore()); for(int i=0;i<3;i++) { if(s[i].yy<60) System.out.println(s[i].name+" "+s[i].yy); if(s[i].sx<60) System.out.println(s[i].name+" "+s[i].sx); if(s[i].java<60) System.out.println(s[i].name+" "+s[i].java); } } } 这是我自己编写的一个关于数组的程序,运行显示第10-12行需要"]",我该怎么修改啊?谢谢你们的回答. |
8.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: leiqlion Posted on: 2005-10-23 15:23 楼主那样也能排序吗? |
9.Re:关于数组的问题,帮帮忙 [Re: 火山一角] | Copy to clipboard |
Posted by: leiqlion Posted on: 2005-10-23 16:12 火山一角 wrote: 这个程序有点儿问题啊Highscore中的,MAX放的不是最大值,而是一个最小值. 如果是要求最小值的话,最好不要乱用变量名. |
10.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: leiqlion Posted on: 2005-10-23 16:24 还有这里的用法都错了,一个类中只能包括变量的定义和方法的定义,不允许有其它的操作.而里你用了 " Student[] s=new Student[3]; Student s[0]=new Student("张三",19,83,65,72); Student s[1]=new Student("李司",20,75,57,88); Student s[2]=new Student("王五",20,83,62,91); " 应用一个Init()方法来完成此工作 |
11.Re:关于数组的问题,帮帮忙 [Re: fq88] | Copy to clipboard |
Posted by: leiqlion Posted on: 2005-10-23 16:28 在一个类中只能包括方法的定义和变量的定义,而这位人兄犯了这个错误. |
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 |