黑马程序员技术交流社区

标题: 还是数组排序问题,temp算什么? [打印本页]

作者: 石欣欣    时间: 2011-9-4 21:21
标题: 还是数组排序问题,temp算什么?
if(z[x]>z[y])
int temp=z[x];
z[x]=z[y];
z[y]=temp;


temp 算什么   编译的时候无法编译


PaiXu.java:19: 需要 ".class"
                                        int temp=z[x];
                                            ^
PaiXu.java:19: 不是语句
                                        int temp=z[x];
                                        ^
PaiXu.java:19: 非法的表达式开始
                                        int temp=z[x];
                                                ^
PaiXu.java:19: 需要 ']'
                                        int temp=z[x];
                                                   ^
PaiXu.java:19: 非法的表达式开始
                                        int temp=z[x];
                                                    ^
5 错误




怎么回事??
作者: 李叶    时间: 2011-9-4 22:41
这段代码是写在一个类的一个方法里的么……
如果是的话,还是把完整的代码发上来吧~

还有,你这里的写法有个小小的错误:[code=java]if(z[x]>z[y])  //这里没有用{}把下面三行代码包含起来
int temp=z[x]; //所以,if语句中控制的条件,只会影响到是否执行这一行代码

//下面两行代码是不会受到if控制的,也就是说无论if中的条件是否成立,都会执行这两行代码
z[x]=z[y];
z[y]=temp; [/code]
作者: 匿名    时间: 2011-9-4 23:49
李叶同学每次都这么快。。
作者: 匿名    时间: 2011-9-4 23:56
temp 是一个寄存器,或者叫中间变量,两个数交换位置,把其中一个值赋值到temp保存,借助这个中间变量实现两个数的值的交换,当然面试的时候会问你不用TEMP怎么办,你就可以用两数之和的方法进行值的交换




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2