求高手帮我解释一个程序!急。

importjavax.swing.JOptionPane;publicclassArrange{publicstaticvoidmain(Stringargs[]){S... import javax.swing.JOptionPane;

public class Arrange{
public static void main (String args[]){
String str;
int x,y,z;
int temp;
str=JOptionPane.showInputDialog("请输入第一个数");
x=Integer.parseInt (str);
str=JOptionPane.showInputDialog("请输入第二个数");
y=Integer.parseInt (str);
str=JOptionPane.showInputDialog("请输入第三个数");
z=Integer.parseInt (str);

if(x>y) {
temp = y;
y = x;
x = temp;
}

if(y>z){
temp = y;
y = z;
z = temp;
}
if(x>y){
temp = y;
y = x;
x = temp;
}

System.out.println("从小到大排列="+x+" "+y+" "+z);

}
}
第一个语句的IF和最一个语句的IF他们的语块和条件都一样,他们有区别吗,我把最后一个IF去掉了,程序结果就是不原来的程序结果了,为什么?还有TEMP是什么变量,谁能帮我解释一下IF语句中的每一层意,越清晰越好!我初学.麻烦了!
这是用JAVA写的程序,虽然第一个IF和最后一个IF都一样,但是他们是不能少的,少了就会出错,我试过!
展开
 我来答
lovecc9527
2007-04-08 · 超过14用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:48.3万
展开全部
最后一个IF应该是x>z吧~
temp是个中间参数....这就是冒泡法...通过俩俩之间的比较,把你需要的大的数(或小的数)移到前面,这样就起到了排序的作用
其实那三个IF的意思都是一样的..
就是通过比较把俩个数的位置对掉
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式