本人是初学者,正在自学java。看书上有一个按三个数的大小排序的题。书上给的答案如下:public class OrderThree {
public static void main (String [] args) {
int x=6,y=2,z=9,t;
if (x>y) {
t=x;x=y;y=t;
}
if(x>z) {
t=x;x=z;z=t;
}
if(y>z) {
t=y;y=z;z=t;
}
System.out.println(x+","+y+","+z);
}
}但是我始终没明白这个是怎么求出来的。请大家给我解答一下·麻烦了~
public static void main (String [] args) {
int x=6,y=2,z=9,t;
if (x>y) {
t=x;x=y;y=t;
}
if(x>z) {
t=x;x=z;z=t;
}
if(y>z) {
t=y;y=z;z=t;
}
System.out.println(x+","+y+","+z);
}
}但是我始终没明白这个是怎么求出来的。请大家给我解答一下·麻烦了~
解决方案 »
- jdk1.7中如何使用BASE64Encoder加密?
- 一道ACM题目,求到达18岁生日时所经过的天数,总是WRONG ANSWER
- 开发工具默认的编码无法更改问题?
- 怎么没有办法改变list的大小?
- java虚拟机是用java自已开发的呀,还是用c或c++开发的呀?一直不明白.想得到确切答案,谢谢.
- 请教一个问题:如何让ButtonGroup的边框线显示出来;
- 学习资料(免费)
- 如何让JFrame在启动时最大化?
- 请问JAVA的图形用户界面和Applet有什么关系?
- 如何手动清除一个对象
- 关于ProGuard使用的问题
- 一个文本框一直接收消息,当超过长度后,出现滚动条,然后,当超过一定长度以后,将前面的信息丢掉,然后保持.
if (x>y) {
t=x;x=y;y=t;
}//執行后x=2,y=6
System.out.println(x+","+y+","+z);//執行字符串連接操作 6,2,9
t=x;x=y;y=t;
}
if(x>z) {
t=x;x=z;z=t;
}
if(y>z) {
t=y;y=z;z=t;
就是这一段 他这个等于 怎么最后就能执行处 大小呢
if (x>y) {
t=x;x=y;y=t;
}//執行后x=2,y=6
System.out.println(x+","+y+","+z);//執行字符串連接操作 2,6,9
public class OrderThree {
public static void main (String [] args) {
int x=6,y=2,z=9,t;
//如果x>y,两值互换,t相当一个临时变量。交换之后,x<y。
//xyz两两比较之后,得到x<y<z,实现从小到大的排序。
if (x>y) {
t=x;
x=y;
y=t;
}
if(x>z) {
t=x;
x=z;
z=t;
}
if(y>z) {
t=y;
y=z;
z=t;
}
System.out.println(x+","+y+","+z);
}
}
t=x;x=y;y=t;
}
这个的意思如果x比y大,那么交换,y.
比如x为7,y为5,经过这个处理后,x为5,y为7。
再说这个=不是判断相等的意思,是赋值的意思。
然后比较三次就可以让三个数按序排列了