本人是初学者,正在自学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);
}
}但是我始终没明白这个是怎么求出来的。请大家给我解答一下·麻烦了~
解决方案 »
- Java client-server application 用 socket实现HTTP??
- super(JEditTextArea.this);这条语句做何解释?
- 散分,并向大家推荐一个极好的Java开源方面的网站
- 如何得到子文件夹名
- 一个数据结构的问题
- 懂得snmp网管编程的请进,如何设置类型为MacAddress的值
- 高分!有谁用过xindice&java,用过的进来看问题,拿分了!
- JAVA/ C++/ C# 那种语言好学啊 那种比较有前途啊
- Java 中如何检测内存泄漏?
- 关于日期格式的问题
- 关于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。
再说这个=不是判断相等的意思,是赋值的意思。
然后比较三次就可以让三个数按序排列了